簡體   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