一、cat:显示文件内容
cat
命令可以用来显示文件内容,合并文件、创建空白文件、追加内容等。
1、cat:语法格式
cat [参数] [文件名]
2、cat:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|---|---|
-s | 显示行数(多个空行算一个编号) | -n | 显示行数(空行也编号) | -E | 每行结束处显示$符号 | -A | 等价于-vET参数组合 |
-t | 等价于-vT参数组合 | -b | 显示行数(空行不编号) | -T | 将TAB字符显示为^I符号 | -e | 等价于-vE参数组合 |
-v | 使用^和M-引用,LFD和TAB除外 |
3、cat:参考事例
3.1、显示文件内容
[root@converts ~]# cat converts.txt
地址:www.converts.cn
3.2、合并文件
# 1、将 converts.txt、converts1.txt两个文件的内容合并成新的文件
[root@converts ~]# cat converts.txt converts1.txt > converts_new.txt
# 2、查询合并后的内容
[root@converts ~]# cat converts_new.txt
地址:www.converts.cn
Converts工具是一个免费、便捷、在线的工具网站,提供在线工具、Converts、图片压缩、图片转换、图片格式转换、图片转ico、图片识别、GUID生成、文本工具、编码解码、MD5加密、Json、Json格式化、png压缩、jpg压缩、jpeg压缩、Css压缩、博客等在线服务。
3.3、创建文件
通过重定向,可以从键盘输入数据来创建新文件,如 cat > 新文件名
,然后输入内容,按Ctrl+D结束输入。
# 1、创建文件
[root@converts ~]# cat > new_file.txt
我是新文件[root@converts ~]# cat new_file.txt
我是新文件
3.4、追加内容
使用双大于号(>>
)可以将内容追加到现有文件的末尾,而不是覆盖它。如cat 追加内容 >> 文件名
。
# 1、将converts.txt 内容追加到 converts1.txt 文件中
[root@converts ~]# cat converts.txt >> converts1.txt
# 2、查看追加后的内容
[root@converts ~]# cat converts1.txt
Converts工具是一个免费、便捷、在线的工具网站,提供在线工具、Converts、图片压缩、图片转换、图片格式转换、图片转ico、图片识别、GUID生成、文本工具、编码解码、MD5加密、Json、Json格式化、png压缩、jpg压缩、jpeg压缩、Css压缩、博客等在线服务。
地址:www.converts.cn
3.5、行号显示
[root@converts ~]# cat -n converts1.txt
1 Converts工具是一个免费、便捷、在线的工具网站,提供在线工具、Converts、图片压缩、图片转换、图片格式转换、图片转ico、图片识别、GUID生成、文本工具、编码解码、MD5加密、Json、Json格式化、png压缩、jpg压缩、jpeg压缩、Css压缩、博客等在线服务。
2 地址:www.converts.cn
3.6、特殊字符显示
使用-v
或-vE
等选项可以显示不可见字符,如制表符、换行符等,这对于检查文件格式非常有用。
3.7、空白行处理
-s
或--squeeze-blank
选项可以将连续的空行压缩为一行。
# 1、查看文件内容,有很多空行
[root@converts ~]# cat converts.txt
地址:www.converts.cn
上面有很多空行
# 2、将连续的空行压缩为一行
[root@converts ~]# cat -s converts.txt
地址:www.converts.cn
上面有很多空行
二、more:分页显示文件内容
more
命令的功能是分页显示文本文件的内容。当一个文本的内容比较长,使用cat
命令进行查看文件,满屏的输出,对用户不友好,这时就可以使用more
命令进行分页查看了。该命令可以把文本内容一页一页地显示在终端界面上。常用的按键指令如下:
- Enter键:查看下一行
- 空格键:查看下一页
- b 键:查看上一页
- q键 或 Ctrl +C:退出查看
1、more:语法格式
more [参数] [文件名]
2、more:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|
-s | 将多个空行压缩成一行显示 | -f | 统计实际的行数,而非自动换行的行数 | -数字 | 设置每屏显示的最大行数 |
+数字 | 设置从指定的行开始显示内容 | +/关键词 | 从指定关键词开始显示文件内容 | -c | 不滚屏,先显示内容再清除旧内容 |
-p | 先清除屏幕再显示文本文件的剩余内容 |
3、more:参考事例
3.1、先进行清屏操作,随后以每次20行内容的格式显示指定的文件内容
[root@converts ~]# more -c -20 /etc/nginx/nginx.conf
三、grep:在文件中搜索特定模式的文本
grep
命令是(global regular expression print)的缩写,意为全局正则表达式打印。该命令用于在输入数据中搜索包含指定模式(通常是一个正则表达式)的行,并将这些行打印出来。
1、grep:语法格式
grep [参数] [文件名]
2、grep:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|---|---|
-b | 显示匹配行距文件头部的偏移量 | -o | 显示匹配词距文件头部的偏移量 | -c | 只显示匹配的行数 | -q | 静默执行模式 |
-E | 支持扩展正则表达式 | -r | 递归搜索模式 | -F | 匹配固定字符串的内容 | -s | 不显示没有匹配文本的错误信息 |
-h | 搜索多文件时不显示文件名 | -v | 显示不包含匹配文本的所有行 | -i | 忽略关键词大小写 | -w | 精准匹配整词 |
-l | 只显示符合匹配条件的文件名 | -x | 精准匹配整行 | -n | 显示所有匹配行及其行号 |
3、grep:参考事例
3.1、搜索指定文件中包含关键字的指定行
# 搜索文件中是否包含`在线工具` 关键字
[root@converts 2024-05-14]# grep 在线工具 2024-05-14.log
在线图片裁剪工具免费提供:在线工具,图片裁剪,图片镜像,图片旋转,在线图片截取,在线裁剪等功能。
3.2、从多个文件中查询包含关键字的指定行
# 从多个文件中搜索是否包含`在线工具` 关键字
[root@converts 2024-05-14]# grep 在线工具 2024-05-14.log 2024-05-141.log
在线图片裁剪工具免费提供:在线工具,图片裁剪,图片镜像,图片旋转,在线图片截取,在线裁剪等功能。
..................省略部分输出.........................
# 显示从多个文件中查询匹配的行数
[root@converts 2024-05-14]# grep -c 在线工具 2024-05-14.log 2024-05-141.log
2024-05-14.log:97
2024-05-141.log:81
3.3、查询匹配的行数
# 只显示匹配的行数
[root@converts 2024-05-14]# grep -c 在线工具 2024-05-14.log
97
3.4、对查询的结果根据关键字进行筛选
# 例1:对查询的容器信息进行关键字筛选
[root@converts ~]# docker ps | grep converts
fad9f94e107a converts.web.entry "dotnet Converts.Web…" 20 hours ago Up 20 hours 9200/tcp, 0.0.0.0:9200->80/tcp, :::9200->80/tcp converts.web.entry
# 例2:查询结果可以是任何的文本流, 比如下属的也是支持,如下图所示
[root@converts Logs]# ll | grep 2024-05
四、wc:文本内容统计
wc
命令是(word count)英文词组的缩写,主要功能是统计文件的字节数、单词数、行数等信息,并将统计结果输出到终端界面。
1、wc:语法格式
wc [参数] [文件名]
2、wc:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|---|---|---|---|
-c | 统计字节数 | -w | 统计单词数 | -l | 统计行数 | -L | 设置最长行的长度 | -m | 统计字符数 |
3、wc:参考事例
3.1、统计单词数量
[root@converts ~]# wc -w mysql.sh
3.2、查询匹配数量
可以搭配这grep
命令一起使用,对匹配到的行数进行查询。
# 匹配所有镜像中包含‘converts’关键的镜像行数
[root@converts ~]# docker images | grep converts | wc -l
五、awk:文本处理工具(处理结构化文本)
awk
命令是一种强大的文本分析和处理工具(最早由Alfred V. Aho、Peter J. Weinberger 和 Brian W. Kernighan三位作者开发,其名称也来源于他们的姓氏首字母)。awk主要用于处理具有结构化的文本数据,通过指定的规则对文件或输入流中的每一行进行处理,执行诸如搜索、替换、数据提取、统计汇总等多种操作。
grep
和 awk
命令配合使用,可以很方便的对数据,并对数据的输出列进行筛选。
1、awk:语法格式
awk [参数] [文件名]
2、awk:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|---|---|
-c | 使用兼容模式 | -m | 对指定值进行限制 | -e | 指定源码文件 | -n | 识别输入数据中的八进制和十六进制数 |
-f | 从脚本中读取awk命令 | -F | 设置输入时的字段分隔符 | -O | 启用程序优化 | -v | 定义一个变量并赋值 |
-v | 自定义变量信息 |
3、awk:参考事例
3.1、对查询的结果进行指定列的输出
# 对查询结果,进行第1,第9 列的输出(多个列使用逗号分隔) 。
[root@converts 2024-05-14]# ll | awk '{print $1,$9}'
3.2、根据‘-’为分隔符,对文本行进行分隔
# 根据分隔符 ‘-’,对整行的数据进行分割,分割后的数据成了新的‘列’
[root@converts ~]# ll
total 8
drwxr-xr-x 4 root root 4096 Feb 6 17:19 FastTunnel
drwxr-xr-x 4 root root 4096 May 14 15:24 scout-demo-service
# 开始分割输出, 输出第1列和第2列
[root@converts ~]# ll | awk -F - '{print $1,$2}'
total 8
drwxr xr
drwxr xr
[root@converts ~]#
3.3、grep 和 awk 配合使用
grep
和 awk
配合使用可以很方便的对数据,并对数据的输出列进行筛选
# 1、筛选前数据清单
[root@converts ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
converts.web.entry latest 4b263c45a378 43 hours ago 621MB
mini.syshub latest 699124f2772a 3 months ago 396MB
mysql 8.1.0 ae2502152260 9 months ago 574MB
databack/mysql-backup latest 76330beee8b1 12 months ago 256MB
# 查询 converts.web.entry 容器的,并输出查询结果的镜像id
[root@converts ~]# docker images | grep -w 'converts.web.entry' | awk '{print $3}'
4b263c45a378
六、sed:流编辑器,用于文本替换、删除、插入等操作
sed
命令是(stream editor)的缩写,该命令能够对文本文件执行各种文本操作,如搜索、替换、删除、添加行等,而无需直接修改文件或显示整个文件内容。sed的工作原理是一次读取一行内容,对其进行处理后输出,再读取下一行,直至文件结束。
1、sed:语法格式
sed [参数] [文件名]
2、sed:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|
-e | 使用指定脚本处理输入的文本文件 | -n | 仅显示脚本处理后的结果 | -f | 使用指定脚本文件处理输入的文本文件 |
-r | 支持扩展正则表达式 | -i | 直接修改文件内容,而不输出到终端 |
3、sed:参考事例
3.1、文本替换
# 1、查询待转换的文本
[root@converts ~]# cat sed.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
# 2、对文本进行替换 ,s 是替换命令,g 表示全局替换,即在每一行中所有匹配项都会被替换。
[root@converts ~]# sed 's/转换网站/工具转换网站/g' sed.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线工具转换网站
# 3、查询原文本,源文件的内容并没有被修改
[root@converts ~]# cat sed.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
[root@converts ~]#
3.2、替换文本,并保存至源文件
# 1、查询替换前文件
[root@converts ~]# cat sed.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
# 2、开始替换文本
[root@converts ~]# sed -i 's/转换网站/工具转换网站/g' sed.txt
# 3、查询替换后的文本
[root@converts ~]# cat sed.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线工具转换网站
七、sort:对文本行进行排序
sort
命令的功能是对文件内容进行排序。这个命令非常灵活,支持多种排序规则和选项,使得用户可以根据具体需求来组织数据。
1、sort:语法格式
sort [参数] [文件名]
2、sort:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|
-b | 忽略每行前面出现的空格字符 | -n | 依据数值大小排序 | -c | 检查文件是否已经按照顺序排序 |
-o | 将排序后的结果写入指定文件 | -d | 除字母、数字及空格字符外,忽略其他字符 | -r | 以相反的顺序排序 |
-f | 将小写字母视为大写字母 | -R | 依据随机哈希值进行排序 | -h | 以更易读的格式输出信息 |
-t | 设置排序时所用的栏位分隔符 | -i | 除40~176之间的ASCII字符外,忽略其他字符 | -T | 设置临时目录 |
-k | 设置需要排序的列号 | -z | 使用0字节结尾,而不是换行 | -m | 将几个排好序的文件进行合并 |
-M | 将前面3个字母依照月份的缩写进行排序 |
3、sort:参考事例
3.1、对指定的文件内容按照字母顺序进行排序
# 1、排序前数据
[root@converts ~]# cat sort.txt
A
B
D
G
F
# 2、按照字母顺序进行排序
[root@converts ~]# sort sort.txt
A
B
D
F
G
八、uniq:报告或删除重复的行
uniq
命令是英文单词(unique)的缩写,其功能主要是去除文件中的重复内容行,只保留唯一的行或者统计重复行的次数。此命令通常与 sort 命令联合使用,因为 uniq 只能处理相邻的重复行。
1、uniq:语法格式
uniq [参数] [文件名]
2、uniq:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|
-c | 显示每行在文本中重复出现的次数 | -u | 仅显示没有重复的纪录 | -d | 设置每个重复纪录只出现一次 |
-w | 仅对前N个字符进行比较 | -D | 显示所有相邻的重复行 | -z | 设置终止符(默认为换行符) |
-f | 跳过对前N个列的比较 | -i | 忽略大小写 | -s | 跳过对前N个字符的比较 |
3、uniq:参考事例
3.1、对指定文件的进行行去重操作
[root@converts ~]# cat uniq.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
[root@converts ~]# uniq uniq.txt
网址:www.converts.cn
名称:在线转换网站
[root@converts ~]#
3.2、统计行出现的次数
[root@converts ~]# cat uniq.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
[root@converts ~]# uniq -c uniq.txt
2 网址:www.converts.cn
1 名称:在线转换网站
[root@converts ~]#
九、cut:从文件或标准输入中提取列
cut
命令用于从文本文件中提取文本列或字段,并将这些提取的内容输出到标准输出或另一个文件中。
1、cut:语法格式
cut 参数 文件名
2、cut:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|
-b | 以字节为单位进行分割 | -n | 取消分割多字节字符 | -c | 以字符为单位进行分割 |
--complement | 补足被选择的字节、字符或字段 | -d | 设置分隔符 | -f | 显示指定字段的内容 |
3、cut:参考事例
3.1、根据“:”对行进行分割, 并显示对应列
[root@converts ~]# cat cut.txt
网址:www.converts.cn
网址:www.converts.cn
名称:在线转换网站
[root@converts ~]# cut -d : -f 1 cut.txt
网址
网址
名称
[root@converts ~]# cut -d : -f 2 cut.txt
www.converts.cn
www.converts.cn
在线转换网站
[root@converts ~]#
十、tr:字符转换或删除
tr
是(text replacer)的简称,该命令主要用于执行简单的文本替换、删除或压缩任务,能够读取来自标准输入的数据,对其进行指定的字符转换操作后,输出到标准输出。
1、tr:语法格式
tr [参数] [字符串1] [字符串2]
2、tr:常用参数
参数 | 描述 | 参数 | 描述 | 参数 | 描述 | 参数 | 描述 |
---|---|---|---|---|---|---|---|
-c | 反选字符串1的补集 | -t | 将字符串1截断为字符串2的长度 | -d | 删除字符串1中出现的所有字符 | -s | 删除所有重复出现的字符序列 |
3、tr:参考事例
3.1、将指定文件中的多个相邻空行去重后输出
# 1、查询文件内容
[root@converts ~]# cat tr.txt
地址:www.converts.cn
上面有很多空行
# 2、将指定文件中的多个相邻空行去重后输出
[root@converts ~]# tr -s '\n'< tr.txt
地址:www.converts.cn
上面有很多空行
[root@converts ~]#
3.2、删除文件中所有的字母
# 1、查询文件内容
[root@converts ~]# cat tr.txt
地址:www.converts.cn
上面有很多空行
# 2、删除文件中所有的字母
[root@converts ~]# tr -d '[a-z]' < tr.txt
地址:..
上面有很多空行
[root@converts ~]#
暂无评论