2014-01-16 75 views
2

我有一個看起來像這樣的文件:

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 

回答

5

你的第一次嘗試是差不多好了,你就忘了打印線:

awk '{$3 = 0; print}' 

一個較短的版本同樣的事情:

awk '{$3 = 0}1' 
+0

謝謝。有效。 – user3108631

2

你只是需要d至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 
+0

謝謝。有效。 – user3108631