繁体   English   中英

了解sed命令的语法和sed命令

[英]Understanding sed command syntax and sed commands

有人可以在这里解释这个sed命令做什么吗?

sed 's!^M$!!;s!\-!!g;s!\.!!g;s!\(..\)!\1:!g;s!:$!!'

似乎替换/删除了一些字符...但是我无法弄清楚...这真的很复杂(我的意思是所有这些s ; / g M ^ 。和其他字符)

谢谢

您可以将其拆分为一系列替换:

s!^M$!!
s!\-!!g
s!\.!!g
s!\(..\)!\1:!g
s!:$!!

每个人都在使用! 作为定界符,因此模式是s!match!replacement! 最后的g表示其中一些是全局的,因此将尽可能多地发生,而不是每行仅发生一次。

^匹配行的开始, $匹配行的结束,因此第一个将删除行中发现的所有M

接下来的两个全部删除. -被发现。 . 在它之前需要一个斜杠,以便它仅与文字匹配. 而不是匹配任何字符 -不需要在其前面加上斜杠,但也没有任何害处。

第四个使用捕获组和反向引用在每2个字符后添加一个:

希望您能根据我对第一个的解释得出最后一个的结果!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM