Bash

從特定欄位中刪除前導 0

  • December 18, 2015

我有一個包含多個欄位的文件,但只想從第二列(col B)而不是所有列中刪除前導 0。我試過了: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

我將為awk這項任務選擇:

awk 'FNR > 1 {$2 = sprintf("%d", $2)};1' <file

或者:

awk 'FNR > 1 {$2 += 0};1' <file

或者:

awk '{sub(/^0+/, "", $2)};1' <file

引用自:https://unix.stackexchange.com/questions/249995