linux三剑客

linux 之三剑客

awk grep sed

正则表达式 ^ 匹配行首
$ 匹配行末
^$ 空行


awk 文本格式化工具
awk [options] 'pattern{action}' file1,file2 .....

pattern BEGIN END
action print,printf

file1 所要处理的文件名

$0 代表整行 $1代表第一行 $NF代表最后一行

awk '{print $1,$2}' xxx.txt


options参数
-F 制定分隔符 (默认情况下是空格)

awk -F '%' '{print $1,$2}' xxx.txt

输出分隔符
-v OFS='--->'


awk -v OFS='--->''{print $1,$2} xxx.tst


NR当前行号


awk -F ‘#’NF ==4 ‘{print $1,$2}' xxx.txt


sed 是一个流编辑器 会把处理的文件临时放在内从中

sed [options] ....'script' xxx.txt

grep

根据用户指定的模式(pattern)对目标文本进行过滤,显示被模式匹配到的行\n语法:grep[options]pattern[file…]

\n选项:\n-v 显示不被pattern匹配的行\n

-i 忽略字符大小写\n

-n 显示匹配的行号\n

-c 统计匹配到的行数\n

-o 仅显示匹配到的字符串

\n-E 使用ERE,相当于egrep\n\n示例:\n

1、查找文件内容包含error的行数\n

grep -n error log.txt\n\n2、查找文件内容不包含info的行\n

grep -nv info log.txt\n\n3、查找以e开头的行\n

grep -n ^e log.txt\n\n4、查找以n结束的行\n

grep -n n$ log.txt

 

posted @ 2022-09-11 15:25  嘟嘟小东  阅读(58)  评论(0)    收藏  举报