只是简短的了解awk:为什么
awk '{split ($4,a,".");print $1,$2,$3,a[1]|"sort -nk3 "}'
工作(并按第三列排序,因为它应该是),而这一个
awk '{split ($4,a,".");print $1,$2,$3,a[1];"sort -nk3 "}'
才不是?我期望sort
处理上一个命令的输出,无论有没有管道?
在
awk '{split ($4,a,".");print $1,$2,$3,a[1]; "sort -nk3 "}'
没有排序,只是一个内容为“sort ..”的无操作字符串,print >
或print |
通过交互shell调用不同的行为。请注意,您也可以将它管道输出awk
。
awk '{split ($4,a,"."); print $1,$2,$3,a[1]}' | sort -nk3
会很好的。
tldr;使用管道来调用排序