web-dev-qa-db-ja.com

bashの「sed」コマンド

誰かが私のためにこのコマンドを説明できますか:

cat | sed -e 's,%,$,g' | Sudo tee /etc/init.d/dropbox << EOF
   echo "Hello World"
EOF

「sed」コマンドは何をしますか?

36
ajsie

sedStream EDitor です。 本当にクールなもの の山全体を実行できますが、最も一般的なのはテキスト置換です。

s,%,$,gコマンドラインの一部は、実行するsedコマンドです。 sは代理、,文字は区切り文字です(他の文字を使用できます; /:および@は人気があります)。 %は一致するパターン(ここではリテラルのパーセント記号)と$は、一致する2番目のパターンです(ここではリテラルのドル記号)。末尾のgは、各行でgloballyを置き換えることを意味します(そうしないと、最初の一致のみが更新されます)。

42
Jack Kelly

ここで、sedは、その標準入力で%のすべての出現を$に置き換えています。

例として

$ echo 'foo%bar%' | sed -e 's,%,$,g'

「foo $ bar $」が生成されます。

26
codaddict

Hello Worldcat)を読み取り、%のすべての(g)オカレンスを$に置き換え、ルートとして/etc/init.d/dropboxに(上書き)書き込みます。

7
Lekensteyn

sedはストリームエディターです。お使いのシステムでこのmanページが見つからない場合は、次のURLを参照してください。

http://unixhelp.ed.ac.uk/CGI/man-cgi?sed

1
Anil Vishnoi