ファイルがありますf1.txt
。
ID Name
1 a
2 b
3 g
6 f
スペースの数はいいえ安定した。すべてのスペースを1つのスペースに置き換える最善の方法は何ですかtr
?
これが私が今まで持っているものです:
cat f1.txt | tr -d " "
ただし、出力は次のようになります。
IDName
1a
2b
3g
6f
しかし、私は次のように見えたいです。
ID Name
1 a
2 b
3 g
6 f
それを避けてくださいsed
。
ベストアンサー1
とともにtr
、使用するs
押出繰り返しオプション:
$ tr -s " " < file
ID Name
1 a
2 b
3 g
6 f
または、次のソリューションを使用できますawk
。
$ awk '{$2=$2};1' file
ID Name
1 a
2 b
3 g
6 f
レコードのフィールドを変更すると、書き換えはawk
すべて$0
のフィールドを取得し、デフォルトでスペースOFS
で区切って一緒にリンクします。
これにより、一連のスペースとタブ(ロケールと実装によって異なるスペース文字も可能ですawk
)を単一のスペースに圧縮し、各行から先行スペースと末尾スペースを削除します。