我有一组看起来像这样的数据:
foo:123 bar baz
oof:2983 rab zdo
mor:8 eoinn uiemdh
我希望得到的结果是:
123
2983
8
假设数据位于名为test.txt的文件中,我目前拥有的是:
awk '{print $1}' test.txt | awk -F: '{print $2}'
如何将这两个陈述合并?
答案 0 :(得分:4)
您可以将字段分隔符发送到正则表达式:
awk -F' |:' '{print $2}' file
123
2983
8
答案 1 :(得分:1)
简而言之,你不能。但是你可以使用广泛的模式匹配工具来做你想做的事情:
awk '{ tmp = $1; sub(/^.*:/, "", tmp); print tmp; }' test.txt
答案 2 :(得分:1)
简短awk
awk -F' |:' '{$0=$2}1' file
123
2983
8