| |
1、grep
功能说明:查找文件里符合条件的字符串。
参数
1) -A NUM,–after-context=NUM
除了列出符合行之外,并且列出後NUM行。
2)-B NUM,–before-context=NUM
与 -A NUM 相对,但这此参数是显示除符合行之外并显示在它之前的NUM行。
3)-C [NUM], -NUM, –context[=NUM]
列出符合行之外并列出上下各NUM行,预设值是2。
4)-c, –count
不显示符合样式行,只显示符合的总行数。
若再加上-v,–invert-match,参数显示不符合的总行数。
5)--w, –word-regexp
将搜寻样式视为一个字去搜寻,完全符合该”字”的行才会被列出。
6)-i, –ignore-case
忽略大小写,包含要搜寻的样式及被搜寻的档案。
7)-n, –line-number
在显示行前,标上行号。
8)-v, –invert-match
显示除搜寻样式行之外的全部。
2、egrep
egrep 是grep的扩展,使用egrep的主要好处是其在grep提供的正则表达式元字符集的基础上增加了更多的元字符。不过,egrep 不支持grep 的\(\)标记匹配字符和\{\}重复的功能。
下表给出了egrep新添的正则表达式元字符
元字符 | 功能 | 示例 | 匹配对象 |
---|---|---|---|
+ | 匹配1个或多个前一字符 | ‘[a-z]+ove’ | 匹配跟在一或多个小写字母后面的ove。将找出move,love等 |
? | 匹配0个或1个前一字符 | ‘lo?ve’ | 匹配后面跟一个或不跟字母o的l.将找到love或lve |
a|b | 匹配a或b | ‘love|hate’ | 匹配love和hate这两个表达式之一 |
() | 字符组 | ‘love(able|ly)(ov)+’ | 匹配loveable或lovely加上ov的一次或多次出现 |
3、tr
tr用来从标准输入中通过替换或删除操作进行字符转换。
特别要注意一点:tr 只能进行字符的替换、缩减和删除,不能用来替换字符串。
tr命令格式为:
tr -c -d -s["string1_to_translate_from"]["string2_to_translate_to"] file
这里:
-c :用字符串1中字符集的补集替换此字符集,要求字符集为ASCII。
-d :删除字符串1中所有输入字符。
-s :删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串。
file :是转换文件名。虽然可以使用其他格式输入,但这种格式最常用。
4、awk - print
awk '{print $1,$2,$NF;}' file -------打印指定文件中的 第一列,第二列和最后一列(因为awk默认按空格分割 即:打印每行的第一个,第二个和最后一个单词)。
Awk包含许多内建的变量,对于每行的记录, Awk 默认按照空格进行分割,并将分隔后的值存入对应的 $n 变量中。如果一行还有 4 个单词,将被分别存储进 $1 $2 $3 $4 中,其中 $0 代表整行。 NF 也是一个内建的变量,代表该行中分割后的变量数。其中 NF必须是大写才是该行最后一个单词。
当然,Awk也可按其它方式进行分割,具体命令如下:
awk -F '分割符号' '{print $n}'。
awk可以使用if,其中if的语法和c语言一样。实例:
awk ‘{ if ($1 > 10 && $3~/abc/) { print $4} }'
5、sort
语 法:sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件]
补充说明:sort可针对文本文件的内容,以行为单位来排序。
其中,
-u 输出行中去除重复行
-n 以数值来排序
可参考:http://roclinux.cn/?p=1350
6、less
-S: 完整行显示
-N: 显示行号
7、sed
1)工具sed(stream editor,流编辑器)是一个批处理(非交互式)编辑器。它常被用做管道中的过滤器。
2)语法:
a. sed [-n] 程序 待处理文件
b. sed [-n] -f 程序文件 待处理文件
当使用-n选项时,sed仅仅在标准输出上输出特定的行,例如被p(print)选定的行。不带-n选项sed将输出所有的行。
“程序”是一些指令。