用awk

2015-04-17 40 views
0

只在特定的列替換一個特定的模式,我有一個文件用awk

$ cat file1 
1 2 lallu.3 
3 4 lallu.5 
4 5 lallu.6 

我的輸出文件應該是

1 2 3 
3 4 5 
4 5 6 

我想更換lallu。在第3欄「」

我試圖在AWK以下

awk '{print $1 " " $2 " " $3 } | awk '$3 ~ /lallu\./ { $3 = ""}1 ' 

這似乎不工作。你能幫助嗎?

+0

wt您嘗試的腳本:您認爲腳本在做什麼?它根本沒有任何意義,所以我很好奇你認爲這些語言結構是什麼意思,所以也許我們可以設定你的直覺。 –

回答

3

你可以使用awk的子函數。

awk '{sub(/lallu\./, "", $3)}1' file 

如果你想刪除多個lallu.子在同一列上,然後用gsub代替sub(即替代subgsub)在上面。

+0

感謝它的工作:) –