目录
一、正则表达式
正则表达式主要是对文本内容进行过滤,工作原理主要是针对文本,逐行进行过滤
1.grep
- grep -m 次数: 匹配n次后停止
- 例:grep -m 1 root /etc/passwd ## 过滤1次用户账户文件中有root关键字的行 (过滤1次就是1行)
- grep -v :取反
- 例1:grep -v root /etc/passwd/ ## 过滤文件中不带有root关键字的行
- 例2:cat 123.txt | grep -v "^$" > test.txt ## 文件名查看并过滤出不包含以$开头的行 并保存到新文件中
- grep -i :忽略字符串大小写
- grep -n:显示匹配行号
- grep -c:只显示行号
- grep -o:仅显示匹配到的字符串
- grep -A:匹配到当前行,以及当前行往后n行
- grep -B:匹配到当前行,以及往前n行
- grep -C:前后各n行
- 例:grep -A 3 root /etc/passwd
- grep -e:逻辑或,-e可以是多个
- 例:grep -e root -e lbj /etc/passwd
- grep -w:匹配整个单词
- grep -E:使用扩展正则(也可以使用egrep)
- grep -f:处理两个文件中的相同内容,第一个作为匹配条件
- grep -r:递归匹配文件中相同内容,不处理软连接文件
- 例: grep -r a /opt ##过滤出opt目录下带有字符a的文件
- grep -R:可以处理软连接文件
- 注释:^:正则表达式中,尖角符号^ 代表以该字符为开头
- 注释:$:代表以该字母为结尾
- 例:grep -n "^root$" ##代表以root关键字为开头,并以root结尾,匹配到整行内容只有root的内容
2.sort
- 以行为单位,对文件内容进行排序,也可以根据不同的数据类型来排序
- sort -f : 忽略大小写,默认情况是大写在前 小写在后
- sort -b: 忽略每行前的空格
- sort -n:按数字进行正向排序
- sort -r :按数字进行反向排序
- sort -u :去除重复不做显示
- 例:sort -r -u test1.txt ##对数字反向排序并去重,首先对比首个数字的大小,然后逐次比较下一位数字
- sort -o:将指定结果输入到指定文件中
3.uniq:快捷去重
uniq -c:统计连续重复的行的次数,然后合并重复行
![]()
- uniq -u:显示仅出现一次的行
- uniq -d:统计连续重复出现的行
4. tr :标准输入的增删改查
对来自标准输入的字符进行替换、压缩和删除。
tr -c :保留原字符,其它的字符用字符集2进行替换
例:echo abc | tr -c 'ab' 'a' ##保留adc字符串中的ab,并将c替换为a,结果输出为aba
tr -d:删除所有字符集1的字符
例:删除ab 保留c
tr -s:把重复出现的字符串压缩成一个,并把前一个替换为后一个
5. cut :快速裁剪
- 用法: cut 选项 参数
- cut -d :指定分隔符
- cut -f :按字段进行截取
- cut -b:以字节为单位进行截取
- cut -c:以字符为单位进行截取
- cut -complemnt:排除所指定的字段
- output-delimiter:更改输出内容的分隔符
6.split 文件分拣拆分工具
- split -l :按行拆分文件
- split -b:指定大小拆分指定文件
7.paste 合并文件工具
二、试题合集
1.统计当前主机的连接状态

2.统计当前主机连接数
- ss -nt ##查看当前主机连接数
- ss -nt | tr -s " " | cut -d " " -f 5 | sort -n | uniq -c


本文介绍了Linux中的一系列命令,如grep用于文本过滤,sort进行内容排序,uniq快速去重,tr进行字符操作,cut进行内容裁剪,split文件拆分以及paste文件合并。同时,给出了统计主机连接状态和连接数的实战示例,利用ss命令查看网络连接详情。












2244

被折叠的 条评论
为什么被折叠?



