誰かが私のためにこのコマンドを説明できますか:
cat | sed -e 's,%,$,g' | Sudo tee /etc/init.d/dropbox << EOF
echo "Hello World"
EOF
「sed」コマンドは何をしますか?
sed
は Stream EDitor です。 本当にクールなもの の山全体を実行できますが、最も一般的なのはテキスト置換です。
s,%,$,g
コマンドラインの一部は、実行するsed
コマンドです。 s
は代理、,
文字は区切り文字です(他の文字を使用できます; /
、:
および@
は人気があります)。 %
は一致するパターン(ここではリテラルのパーセント記号)と$
は、一致する2番目のパターンです(ここではリテラルのドル記号)。末尾のg
は、各行でg
loballyを置き換えることを意味します(そうしないと、最初の一致のみが更新されます)。
ここで、sed
は、その標準入力で%
のすべての出現を$
に置き換えています。
例として
$ echo 'foo%bar%' | sed -e 's,%,$,g'
「foo $ bar $」が生成されます。
Hello World
(cat
)を読み取り、%
のすべての(g
)オカレンスを$
に置き換え、ルートとして/etc/init.d/dropbox
に(上書き)書き込みます。
sedはストリームエディターです。お使いのシステムでこのmanページが見つからない場合は、次のURLを参照してください。