从特定字段中删除前导 0

从特定字段中删除前导 0

我有一个包含多个字段的文件,但只想删除第二列(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

答案1

awk对于这个任务我会选择:

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

或者:

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

或者:

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

相关内容