sed/awk/perl - 2つの文字列/単語+ Solaris 10の間のスペースを削除する

sed/awk/perl - 2つの文字列/単語+ Solaris 10の間のスペースを削除する

値と文字列の間のスペース(「=」文字の後)に「=」を削除する方法を提案してください。これはawk、sed、またはperlコマンドで実行する必要があり、コマンドはSolaris OSに適している必要があります。 (コマンドは私のバッシュスクリプト)

Solaris 10オペレーティングシステムを使用しています。

例1(アップデート前)

その他のドキュメント

 a=2
 b= 45
 c=   4
 d= 98
 e=09
 f= gdtd
 g=     @7h
 parameter5=    87

例2(アップデート後)

その他のドキュメント

a=2
b=45
c=4
d=98
e=09
f=gdtd
g=@7h
parameter5=87

答え1

この試み:

sed 's/=[ \t]*/=/' input.txt

必要に応じて-i内部編集オプションを指定します。


sed -iSolarisには適していません

別のファイルにリダイレクトし、元のファイルに名前を変更するか、代わりにPerlを使用します。

perl -pi -e 's/=[ \t]*/=/g' input.txt

答え2

sed 's/=[[:blank:]]*/=/' < file.in > file.out

答え3

これを行うにはいくつかの方法がありますが、最も簡単で最も原始的な方法は、ファイルをインポートしてsedを介してパイプすることです。cat $filename | sed -e 's/ //g'

答え4

Solaris 11の場合、複数の空間を単一空間のインラインに切り替える方法は次のとおりです。

[出力コマンド] | sed -e 's/ */ /g'

アスタリスク付きのスペース2つ

関連情報