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