基本命令(5)字符管理 1

2018-06-04  本文已影响0人  XieRuii

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参数



上一篇 下一篇

猜你喜欢

热点阅读