使用awk在文件中打印特殊列

时间:2014-01-03 17:46:51

标签: awk

我在打印名称以`(tick)开头的列时遇到问题。

以下是我文件中的内容。

abc xyz pqr sym = `WST"    
abc xyz pqr sym = `WTFC"
abc xyz pqr sym = `WTI"
abc xyz pqr sym = `WTM"
abc xyz pqr sym = `WTR"

我想在第三列之后打印任何内容,我正在使用以下代码:

awk '{{printf "\n"} for(j=4;j<NF;++j){printf " %s",$j}}'

但是,我没有得到预期的输出。它不打印最后一栏。可能是因为名字前的刻度字符。如何才能打印最后一列呢?

输出:

sym =
sym =
sym =    
sym =
sym =

预期输出

sym = `WST"
sym = `WTFC"
sym = `WTI"
sym = `WTM"
sym = `WTR"

1 个答案:

答案 0 :(得分:2)

这是因为您使用的是j < NF而不是j <= NF

由于字段分隔符似乎是一个空格,您可以

cut -d " "  -f 4- file