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

浙公网安备 33010602011771号