ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

文本处理三剑客和正则表达式 (初)

2020-05-31 17:58:43  阅读:240  来源: 互联网

标签:字符 匹配 正则表达式 haha sh 文本处理 sed 三剑客


文本处理三剑客和正则表达式

Sed

语法 sed   [-nefi]    'command'   file

常用选项

-n 阻止默认全输出

-i 修改原文件

-e 执行多条命令

-f  执行命令文件 (多个命令写入一个文件然后一条一条执行同-e)

动作说明

-a 在匹配行下新增  a后面跟字符串

sed '/SELINUX/a 123123' haha.sh

 

 

 

-i 在匹配行上新增  i后面跟字符串

sed '/SELINUX/i 123123' haha.sh

 

 

 

-c 替换匹配行     c后面跟字符串

sed '/SELINUX/c yangyang' haha.sh

 

 

 

-d 删除匹配行   

sed '/123/d' haha.sh  

 

 

 

-p 打印匹配行 通常和选项-n一起使用

sed -n '/SELINUX/p' haha.sh

 

 

 

-s 修改匹配行中的内容

sed '/123/s/3/haha/g' haha.sh

将匹配到的123行中的3修改为haha

 

 

 

不加g只会修改头一次匹配到的内容

 

 

 

 

 

Awk

语法 awk [options] ‘pattern’ file

常用选项

-F  指定字段分割符

-v  var=value 自定义变量

动作说明

print  printf

显示特定字段

 

 

 

 

Grep

Grep支持基本正则表达式

egrep 支持扩展正则表达式

fgrep 不支持正则表达式

语法    grep [options] pattern [file]

常用选项

--color=auto :着色显示匹配到的字符

-v : 反过滤

-i :不区分大小写

-o :只显示匹配到的字符串

-q :静默执行

-A 2 显示匹配到的行下2行

-B 2 上2行

-C 2 上下各2行

正则表达式

字符匹配

. 表示一个字符

[] 范围内的任意单个字符

[^] 范围外的任意单个字符

[[:digit:]] 所有的数字

[[:lower:]] 所有小写字符

[[:upper:]] 所有大写字符

[[:alpha:]] 所有字符   

[[:alnum:]] 所有字符和数字  

[[:punct:]] 所有符号

[[:space:]] 空白字符

 

次数匹配

*   前面的字符匹配任意次

?  匹配一次或零次

+   配置至少一次

\{#\} 匹配指定次数

\{m,n\} 匹配至少m次至多n次

\{0,n\} 匹配多n次

\{n,0\} 匹配至少n次

 

                              位置锚定

^   行首

$  行尾

\< 词首锚定

\> 词尾锚定

 

标签:字符,匹配,正则表达式,haha,sh,文本处理,sed,三剑客
来源: https://www.cnblogs.com/linuxys/p/13020104.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有