linux正则表达式[】

来源:互联网 发布:使用itunes更新软件 编辑:程序博客网 时间:2024/06/16 21:19

什么是正则表达式?

通过特殊符号对文件中的字符串以行为单位进行查找、删除、替换等操作。配合gerp sed awk使用。(通配符*?[](*多个字符,?单个字符[ab]ab中一个字符)为完全匹配,正则表达式包含匹配,有就算)

* 前一个字符匹配零到任意多次,例grep 'aaa*'匹配到aa~的行

. 匹配换行\n符之外的任意一个字符 例 grep ‘a..c’ 匹配到a××c的行

^   $    ^行首,$行尾 例grep ‘^ a'  'b$'匹配行首是a行尾是b

[ ] 匹配单个字符与通配符[]一样,例[0-9]匹配0到9的数字

^[] []$ 行首行尾匹配

[^]取反 例[^a-z]匹配没有字母的行

a\{n\} 反斜杠我大括号转义符,含义a最少出现n次的行

a\{n,m\}  a出现n到m次 

字符截取命令

cut 命令 cut [-f 列号,-d 选定分隔符] 文件名

printf 命令 printf ' 输出类型格式输出格式' 输出内容(不支持数据流不能用|管道符)

 例printf  '%s\t%s\t%s\t%s\n' 1 2 3  4

awk命令 

awk ’条件1{动作1}条件2{动作2}.‘文件名

例awk '{printf $2"\t"$4"\n"}'

sed命令 对数据选取替换删除

sed [-n(只显示处理行)-e(允许应用多条sed)-i(保存修改结果到文献)] ’[动作;]‘文件名

例sed -n '2p'打印出第二行 sed  '2a 叉叉' 第二行加入叉叉。

sed与vi类似,

0 0
原创粉丝点击