标签:字符 匹配 正则表达式 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. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。