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