我有grep 2列,假设col1和col2。在col2中,我想删除每行中出现的模式。如何为此目的使用awk / sed?
假设ps -eaf | grep b
会产生以下输出:
col1 col2 col3
1 a/b/rac 123
2 a/b/rac1 456
3 a/b/rac3 789
我希望输出存储在这样的文件中:
1 rac
2 rac1
3 rac3
答案 0 :(得分:3)
含糊地说,这可能会做你想要的:
$ awk 'sub(/.*b\//,"",$2){print $1, $2}' file
1 rac
2 rac1
3 rac3
假设文件包含:
col1 col2 col3
1 a/b/rac 123
2 a/b/rac1 456
3 a/b/rac3 789
答案 1 :(得分:0)
您需要将输出传递给
| awk '{sub(/^.*\//, "", $2); print $1, $2}'
awk程序中的第一个命令将第二个字段的内容更改为仅包含最终/
字符后面的内容,这似乎是您想要的。第二个命令打印前两个字段。