一 .grep
1)grep “str” file1 file2 file3
文件中搜索
2)egrep “pattern” file1 或 grep -E “pattern” file1
egrep “[a-z]+.” file1
3)grep -l “str” file1 file2 file3
列出匹配的文件
4)grep “string” /path/to/dir -R
在目录中递归搜索所有文件
二 . cut
选项
-f :取特定的列,如 -f 2,3 取第二 、三两列
-d:指定列分隔符,默认是tab
-b:表示字节
-c:表示字符
三 .sed
1)sed ‘s/PATTERN/replacement/ file1
替换文件中的字符
2)sed ‘/PATTERN/d’ file1
删除特定行
四 .awk
awk ‘BEGIN {begin statements} {circle statements} END {end statement}’ filename
如下语句可以统计文件行数
awk ‘BEGIN {i=0 } {i++} END {print i}’ filename
特殊变量:
NR,对应当前的行号;
NF表示当前行的字段数,字段的分隔符号默认是空格,也可以用-F指定分隔符;
0:表示当前文本行;
n:表示当前行的第n个字段