我有一个看起来像这样的文件:
2360 111037877 111105745 111161458
505 111128359 111026865 111006164
375 117170057 0 0
247 117086016 0 0
613 117030996 117010050 117029287
我想将第3列中的所有值更改为零,以便文件如下所示:
2360 111037877 0 111161458
505 111128359 0 111006164
375 117170057 0 0
247 117086016 0 0
613 117030996 0 117029287
我该怎么做?我知道这是一个非常基本的问题,但我不能用awk来做。我试图做这样的事情:
awk '{$3 = 0}' old file > new file
和
awk '$3 == "*" { $3=0}' old file > new file
答案 0 :(得分:5)
你的第一次尝试几乎是好的,你只是忘了打印线:
awk '{$3 = 0; print}'
同一事物的较短版本:
awk '{$3 = 0}1'
答案 1 :(得分:2)
您只需要print $0
% awk '{$3=0;print $0}' inp.txt
2360 111037877 0 111161458
505 111128359 0 111006164
375 117170057 0 0
247 117086016 0 0
613 117030996 0 117029287