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
当然还可以用三引号调用外部变量的方式,也留个记录吧