正则表达式

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

目录

一、正则表达式

1.grep

2.sort

3.uniq:快捷去重

4. tr :标准输入的增删改查

5. cut :快速裁剪 

6.split 文件分拣拆分工具 

7.paste 合并文件工具  

二、试题合集

 1.统计当前主机的连接状态

 2.统计当前主机连接数


一、正则表达式

正则表达式主要是对文本内容进行过滤,工作原理主要是针对文本,逐行进行过滤

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 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tizzy33

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值