使用 awk 仅替换特定列中的特定模式
replacing a particular pattern only in a specific column using 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 " " " " } | awk ' ~ /lallu\./ { = ""}1 '
这似乎不起作用。你能帮忙吗
你可以使用 awk 的 sub 函数。
awk '{sub(/lallu\./, "", )}1' file
如果要删除同一列上的多个 lallu.
子字符串,请使用 gsub
而不是 sub
。(即,将 sub
替换为 gsub
) 在上面。
我有一个文件
$ 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 " " " " } | awk ' ~ /lallu\./ { = ""}1 '
这似乎不起作用。你能帮忙吗
你可以使用 awk 的 sub 函数。
awk '{sub(/lallu\./, "", )}1' file
如果要删除同一列上的多个 lallu.
子字符串,请使用 gsub
而不是 sub
。(即,将 sub
替换为 gsub
) 在上面。