[英]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.