複数のフィールドを持つファイルがありますが、すべての列ではなく、2番目の列(B列)の先行ゼロのみを削除したいと思います。試してみましたが、うまくsed 's/^0//g' filename > new_filename
いきません。
データ例:
A B C D E
2 02 56 0.987 0.332
1 09 67 0.567 0.243
9 06 37 0.523 0.263
0 10 47 0.378 0.875
希望の出力:
A B C D E
2 2 56 0.987 0.332
1 9 67 0.567 0.243
9 6 37 0.523 0.263
0 10 47 0.378 0.875
答え1
awk
これを行うには、次を選択します。
awk 'FNR > 1 {$2 = sprintf("%d", $2)};1' <file
または:
awk 'FNR > 1 {$2 += 0};1' <file
または:
awk '{sub(/^0+/, "", $2)};1' <file