awk获取关键词所在列,并输出全列

 总感觉awk本身应该就自带直接输出关键词行的调用方式,但是见识所限,只能暂时先用这种方法了,如有大佬路过,还望不吝指教!

 

第一步,获取关键词所在列

awk '{for (i=1;i<=NF;i++) {if ($i=="keyword") {print i}}}' test.txt 

第二步,输出全列

awk '{print $2}' test.txt

那么,能否把两个命令结合使用呢

于是神奇的现象发生了,由于awk的特殊性,我都没想到xargs 还真能向awk内部传参,但它就是成了!

awk  '{for (i=1;i<=NF;i++) {if ($i=="keyword") {print i}}}' test.txt|xargs -I {} awk '{print ${}}' test.tx

 

当然还可以用三引号调用外部变量的方式,也留个记录吧

 

posted @ 2024-01-22 11:30  咿呀哒喏  阅读(281)  评论(0编辑  收藏  举报