「sed 's~~~g'」コマンドで「~」の機能は何ですか? [コピー]

「sed 's~~~g'」コマンドで「~」の機能は何ですか? [コピー]

sed 's~ ~~g'Linuxシステムのシェルスクリプトで1行が見つかりました。これは何ですか~

ベストアンサー1

sedこれはAlternative()コマンドの代替区切り文字ですs。通常、 のようs/pattern/replacement/にスラッシュが使用されますが、sedほとんどすべての文字が許可されます。

/代替式に別の区切り文字を使用する主な理由sedは、式がリテラル文字/に対して機能するためです。

たとえば、パスを/some/path/here次に置き換えるに/other/path/now

s/\/some\/path\/here/\/other\/path\/now/

これは通常、次の問題の影響を受けます。「傾いたつまようじ症候群」、これは正しく読み、維持するのが難しいことを意味します。

代わりに、他の式の区切り文字を使用できます。

s#/some/path/here#/other/path/now#

~有効な代替式区切り文字を使用する別の例です。

あなたの表情

s~ ~~g

同じですか?

s/ //g

入力のすべてのスペースを削除します。この場合、/パターンや置換はすべて含まれないため、他の区切り文字を使用する必要はありません/

同じタスクを実行する別の方法は次のとおりです。

tr -d ' ' <infile >outfile

おすすめ記事