bash を使用して、ファイルの各行の空白を削除する方法 たとえば、file1.txt です。前:
gg g
gg g
t ttt
後:
gg g
gg g
t ttt
bash を使用して、ファイルの各行の空白を削除する方法 たとえば、file1.txt です。前:
gg g
gg g
t ttt
後:
gg g
gg g
t ttt
sed -i 's/ //g' your_file
ファイルをその場で変更して、それを行います。
1 行の先頭にある空白のみを削除するには、次を使用します。sed -i 's/^ *//' your_file
最初の式では、すべてのスペースを何も置き換えません。^
2番目のものでは、キーワードを使用して先頭を置き換えます
tr
(すべての空白を削除):$ tr -d ' ' <input.txt >output.txt
$ mv output.txt input.txt
sed
(先頭の空白を削除)$ sed -i 's/^ *//' input.txt
代わりにperl-iを使用できます。
perl -p -e 's/^ *//' file
パターンが一致する場合、行頭の前の空白を削除します。次のコマンドを使用します。たとえば、 foo.in には次のようなパターンがあります
This is a test
Lolll
blaahhh
This is a testtt
次のコマンドを発行した後
sed -e '/This/s/ *//' < foo.in > foo.out
foo.out は
This is a test
Lolll
blaahhh
This is a testtt
「空白」には、スペースとタブの両方を含めることができます。これまでに提示されたソリューションは、スペースでのみ一致し、正常に動作します。空白がタブの形をとる場合、それらは失敗します。
以下は、スペースとタブの両方を含む OP の標本データ セットでテストされ、両方で正常に一致し、動作しています。
sed 's/^[[:blank:]]*//g' yourFile
テスト後、-i
スイッチをsed
指定して変更を永続化します。