Shell脚本之文本处理三剑客——grep

一、grep命令(过滤)

grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。

作用:过滤文本内容,针对行进行处理

 常用选项:

-i默认,忽略大小写
-n显示匹配的行号
-c只统计匹配的行数
-v取反,显示搜索之外
-m多个匹配,可以限定显示的行数
-o仅显示匹配到的字符串
-A后跟数字,表示匹配到内容行后,在向下显示几行
-B后跟数字,表示匹配到内容行后,再向上显示几行
-C后跟数字,表示匹配到内容行后,在现实上下几行
-e逻辑“或”,可以匹配多个条件,实现多个选项间的逻辑关系,可以跟多个条件
-w表示匹配整个单词
-E表示使用扩展正则表达式,egrep,也可以使用扩展正则表达式
-f对2个文件内容进行匹配,打印匹配出2个文件相同的内容
-r递归目录,不处理软连接
-R递归目录,处理软连接

二、sort(排序)

作用:以行为单位,对文件内容进行排序,也可以根据不同的数据类型进行排序

格式一:
sort 选项参数
格式二:
cat 文件名 | sort 选项

常用选项:

-f忽略大小写,默认把大写排在前面
-b忽略每行前面的空行
-n按照数字进行排序
-r反向排序
-u相同的数据,只显示一行,去重
-o输出文件名,将排序后的结果转存到指定的文件

注:字母和数字最好不要混在一起排序

三、uniq(去重) 

作用:用于报告或者忽略文件中连续出现的重复行,经常与sort命令结合使用

格式一:
uniq 选项 参数
格式二:
cat 文件名 | uniq 选项

常用选项:

-c统计连续重复的行的次数,并且合并重复的行,并打印
-u显示仅出现一次的行,包括不连续的重复行
-d仅显示重复出现的行,必须是连续的重复行

四、tr(替换/压缩/删除)

作用:用于对来自标准输入的字符进行替换、压缩和删除

常用选项:

-c保留字符集1的字符,用字符集2来替换其它的字符
-d删除指定字符集
-s把重复出现的字符串压缩成一个字符串,也可替换
-t默认替换,可加可不加

例:不加选项,默认就是替换,将字符集1替换成字符集2

 " ":表示使用正则表达式

 五、cut(截取,类似awk)

作用:对字段进行截取,裁剪

格式一:
cut 选项 参数
格式二:
cat 文件名 | cut 选项

常用选项:
 

-d指定分隔符,默认分隔符是tab,不是空格
-f按字段进行截取,指定要截取第几字段
-complement删除指定字段
-output-delimiter更改输出内容的分隔符

例:指定打印出/etc/passwd下第1,3列

方式一:

 方式二:

 六、split(文件拆分)

作用:将大文件拆分成若干个小文件

常用格式:

-l指定行数拆分
-b指定文件大小拆分
格式一:指定行数拆分
split -l 指定行数 原始文件 拆分后文件名前缀

格式二:指定文件大小拆分
split -b 指定文件大小 原始文件 拆分后文件名前缀

注:后面一定要写上“拆分后文件名前缀”

七、paste(文件合并)

paste:左右合并文件

cat:上下合并文件

八、统计当前主机连接状态

1.ss格式

ss -antp | grep -v "^State" | cut -d " " -f 1 | sort | uniq -c

2.netstat格式

netstat -antp | tr -s " " | grep "tcp"| cut -d " " -f 6 | sort |uniq -c

 九、统计当前主机的连接数

1.ss格式

ss -nt | tr -s " " | cut -d " " -f 4

2.netstat格式

netstat -nt | awk '{print $4}'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值