[英]“sed” command in bash
有人可以為我解釋這個命令:
cat | sed -e 's,%,$,g' | sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
“sed”命令有什么作用?
sed
是Stream EDitor 。 它可以做很多很酷的事情 ,但最常見的是文本替換。
命令行的s,%,$,g
部分是要執行的sed
命令。 該s
代表替代,所述,
字符是定界符(其它字符可用於; /
, :
和@
是流行)。 %
是要匹配的模式(這里是文字百分號),而$
是要匹配的第二個模式(這里是文字美元符號)。 所述g
在結束手段g
lobally每行(否則將只更新第一匹配)取代。
這里sed
用標准輸入中的$
替換所有出現的%
。
舉個例子
$ echo 'foo%bar%' | sed -e 's,%,$,g'
將產生“foo $ bar $”。
它讀取Hello World
( cat
),用$
替換所有( g
) %
的出現,並且(over)以root身份將其寫入/etc/init.d/dropbox
。
sed是一個流編輯器。 我會說嘗試man sed。如果你沒有在你的系統中找到這個手冊頁,請參考以下URL:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.