文章目录
- 一、grep常用选项
- 二、正则表达式
- 三、sort命令
- 四、tr命令
- 五、cut命令
- 六、split命令
- 七、paste命令
- 八、正则表达式
- 总结
一、grep常用选项
grep:文本三剑客之一,对文本内容进行过滤,支持正则表达式,针对行来进行处理。
-m:跟数字,匹配几次后停止。
-v:显示不被匹配到的行,取反。
-i:忽略大小写。
-n:显示匹配到的行号。
-c:统计匹配的行数。
-o:仅显示匹配到的字符串。
-A:跟数字,匹配到包含当前行往下几行。
-B:跟数字,匹配到包含当前行往上几行。
-C(大写):跟数字,匹配到包含当前行的上下各几行的内容。
-e:实现多个选项间的逻辑or关系。
-w:匹配整个单词。
-E:相当于扩展正则表达式,和egrep相同,一个意思。
格式:grep -E ‘正则表达式’ 文件名
-f:处理两个文件中的相同内容,把第一个作为匹配条件。
-r 递归目录,但不处理软链接
-R 递归目录,但处理软链接
二、正则表达式
^$:表示空行。
例:grep -n “^root$” test1.txt
三、sort命令
sort排序命令:以行为单位对文件内容进行排序,也可以根据不同的数据类型来排序。
sort 命令用于对文本文件进行排序。它可以按照字典序、数字大小、日期等方式对文本内容进行排序。
常用选项:
-f:忽略大小写,默认情况大写会排在前面。
-b:忽略每行前面的空格。
-n:按照数字进行排序,正向排序。
加-r反向排序。
-u:去重。
-o:将排序后的结果输出到指定文件。
uniq:快捷去重。
常用选项:
-c:统计连续重复的行的次数,并且合并重复的行。
四、tr命令
tr:对来自标准输入的字符进行替换、压缩、删除。
tr是一条Linux命令行命令,用于替换或删除文本文件中的字符。通过使用tr命令,可以将输入流中的字符,例如标点符号或换行符等,转换成其他字符,或者完全将它们删除。tr命令通常与管道(|)和重定向(>)一起使用,以对文本数据进行操作。
常用选项:
-c:保留字符集1的字符,其他的字符用字符集2进行替换。
例:echo abc | tr -c ‘ab’ ‘b’
-d:删除所有字符集1的字符。
例:echo abc | tr -d “ab”
-s:把重复出现的字符串压缩成一个,用前一个字符替换成后一个字符。
例:cat test.txt | tr -s “t” “b”
五、cut命令
cut命令是Linux操作系统中的一个文本处理命令,它用于从文本文件或标准输入中按列切割数据,然后将切割后的结果输出到标准输出。cut命令可以选择要切割的字节、字符和字段,并可以使用选项来定义定界符(如空格或制表符)。在实际应用中,cut命令通常与其他命令结合使用,以实现更复杂的文本处理任务。
格式:cut 选项 参数
常用选项:
-d:指定分隔符。
-f:按字段进行截取,截取第几段。
-b:以字节为单位进行截取。
-c:以字符为单位进行截取。
-complement:排除所有指定的字段。
-output-delimiter:更改输出内容的分隔符。
例:cut -d “:” -f 1-3 /etc/passwd意思是截取/etc/passwd文件中以冒号为分割的第一段到第三段内容。
例:head -n 2 /etc/passwd | cut -d “:” --complement -f 2意思:截取/etc/passwd文件中的前两行,然后删除以冒号分割的第二段内容。
六、split命令
split 命令是在 Linux系统上用于将一个大文件拆分成多个小文件的工具。拆分可以按行数、字节数或文件大小等多种方式完成。
-l:指定行数拆分。
-d:指定文件大小写拆分。
例:split -l 20 passwd passwd1:对passwd文件按20行进行拆分。
七、paste命令
paste合并文件,
paste合并和cat合并有什么区别?
paste是左右合并两个文件的内容。
cat是上下合并两个文件中的内容。
统计当前主机的连接状态
ss -nta | grep -v ‘^state’ | cut -d " " -f 1 | sort | uniq -c
统计当前主机的连接数
八、正则表达式
正则表达式:有一类特殊字符即文本字符所编写的模式。
类似于增强版的通配符功能,但与通配符不同,通配符功能是用来处理文件名,
正则表达式是处理文本内容中的字符。
*:通配符,匹配任意一个或多个字符;
?:通配符,匹配一个任意字符;
. 匹配任意单个字符,可以是一个汉字
总结
使用grep命令可以过滤文件内容
使用sort命令可以对文本内容进行排序
使用tr命令可以对字符进行替换
使用cut命令可以快捷裁剪