仅使用awk替换特定列中的特定模式

时间:2015-04-17 13:14:39

标签: awk gawk

我有一个文件

$ 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 '

这似乎不起作用。你可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

你可以使用awk的子功能。

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

如果要删除同一列上的多个lallu.子字符串,请使用gsub代替sub。(即将sub替换为{{1}在上面。