awk|grep|sed|find
awk
1、awk 其他用法
awk '!S[$0]++' filename # 去除文件重复的行
awk 'S[$0]++' filename # 显示文件重复的行
awk '!S[$1]++' filename # 去除第一列相同的行
awk '!S[$2]++' filename # 去除第二列相同的行
awk '{S[$0]++}END{ for(i in S) print i"\t\t"S[i]}' filename # 去重,并统计每一行出现的次数
awk '{S[$2]++}END{ for(i in S) print i"\t\t"S[i]}' filename # 去重,并统计第二列字符出现的次数2、使用awk匹配用法
awk 'NR < 5' filename # 行号小于5
awk 'NR==1,NR==4 {print}' filename # 打印出来1和4的行号
awk '/linux/' filename # 包含linux文本的行
awk '!/linux/' # 不包含linux文本的行
awk '/stat/, /end/' filename # 打印处于start 和 end 之间的文本3、for 在 awk 中用法
4、if 在 awk 中用法
5、BEGIN END 用法
6、变量在 awk 中用法
7、合并文本两行为一行
grep
1、常用命令
2、递归精准查询当前路径下包含 test 的文件及行号
3、递归模糊查询当前路径下包含 test 的文件名
4、递归模糊查询当前路径下包含 test 的文件及行号
5、匹配多个条件
6、统计文件中 test 出现的次数
sed
1、常见参数
2、删除操作,!为取反操作
3、插入新行
4、替换操作
5、多个 sed 命令组合
6、引用变量
7、合并文本两行为一行
8、过滤多了200b字符文件
linux中sed在指定字符前后添加内容
要求:在1111之前添加AAA,方法如下:
要求:在1111之后添加BBB,方法如下:
要求:(1) 删除所有空行;(2) 一行中,如果包含"1111",则在"1111"前面插入"AAA",在"11111"后面插入"BBB"
要求:在每行的头添加字符,比如"HEAD",命令如下:
要求:在每行的尾部添加字符,比如"tail",命令如下:
find
1、根据文件或者正则表达式进行匹配
2、否定参数
3、根据文件类型进行搜索
4、基于目录深度搜索
5、根据文件时间戳进行搜索
6、根据文件大小进行匹配
7、删除匹配文件
8、根据文件权限进行匹配
9、结合 -exec 使用
10、搜索但跳过指定的目录
11、搜索属于空文件,空目录,
Last updated