要对同一个输入文件进行多次传递,这个简单的情况可以正常工作:
$ awk 'p==1{print $1}; p==2{print $2}; p==3{print $3}' p=1 infile p=2 infile p=3 infile
但这个改变失败了吗?
$ awk 'p==1{/Jan/ {print $1}}; p==2{print $2}; p==3{print $3}' p=1 infile p=2 infile p=3 infile
我不想使用这样的术语:
p==1 && /Jan/ {print $1}
因为我想保持(原始)代码的可读结构。
如何在每个括号内使用条件术语?
例子:
$ cat infile
James Exeter 48
Alex Leeds 22
Jan London 35
期望的结果:
Jan
Exeter
Leeds
London
48
22
35