grep 通过正则表达式查找文件中的关键字
参数:
-i: 忽略大小写
-c: 打印匹配的行数
-C: 打印出匹配的上下文 ( 上 N 行 , 下 N 行 ) 的多少行
-l: 列出匹配的文件名
-L: 列出不匹配的文件名
-n :打印包含匹配项的行和行标
-w: 仅匹配指定的单词而非关键字
-e: 索引匹配字串
-r: 递归查询
-v: 不输出匹配的行
-A < 行号 >: 显示所找的匹配字段,并显示下面指定的行数的信息
-B < 行号 >: 显示所找的匹配字段,并显示上面指定的行数的信息
不区分大小写递归查询


正则表达式,
\ 忽略正则表达式中特殊字符的原有含义
^ 匹配正则表达式的开始行,^xieuri 表示以xierui开头的,
$ 匹配正则表达式的结束行, $xierui 表示以xierui结尾的,
\< 从匹配正则表达式的行开始
\> 到匹配正则表达式的行结束
[ ] 单个字符;如 [A] 即 A 符合要求
例 : [ n - m ] 范围;如 [A-H] 即包含 A 至 H 都符合要求
. 所有的单个字符
* 所有字符,长度可以为0
Egrep 与grep相似,更好的支持正则表达式
cut
以1为分节符截取第二和第三位,截取第三位。

sed :通过指定的正则表达式完成指定关键字的过滤、截取、修改等操作(对行操作)。
a\ 在当前行后面加入一行或者文本
b label 分支到脚本中带有标号的地方,如果标号不存在就分支到脚本的末尾
c\ 用新文本改变或者替代本行的文本
d 从模式空间中制删除指定行
D 删除模式空间中第一行
i\ 在当前行上面插入文本
h 拷贝模式空间到内存缓冲区
H 追加模式空间内容到内存缓冲区
g 获得内存缓冲区的内容,并替代当前模式空间中的文本
G 获得内存缓冲区的内容,并追加当前模式空间中的文本
l 列表不能打印所指定的字符清单
n 读取下一个输入行,用下一个命令处理新的行
N 追加下一个输入行到模式空间后面并在二者之间嵌入一个新的行,改变当前行的号码
p 打印模式空间的行
P 打印模式空间的第一行
q 退出sed
r file 从 file 中读取行
t label if 分支,从最后一行开始开始,一旦满足要求,将直接到带有标号的命令出,或者到脚本的末尾
T label 错误分支,从最后一行开始开始,一旦满足要求,将直接到带
有标号的命令出,或者到脚本的末尾
g 行内全面替换
p 打印行
w 把行写入一个文件
sed '1,23d' rui 删除1-23行
sed -n "/^'/p" rui 打印以’开头的行
sed -n '/rui$/p' rui 打印所有rui结尾的行
sed -n 's/xierui/XieLiangrui/p' rui 将xierui替换为XieLiangrui
默认不修改原文件,如果需要修改需加-i参数
网友评论