我是否使用colNb或$ colNb,它不起作用
export colNb=$(awk '{print NF}' file1 | sort -nu | tail -n 1)
awk '{for(i=3 ; i<colNb; i++) {printf("%s\t", $i)} print ""}' file1 | less
使用$ colNb,我得到了
awk: illegal field $(), name "colNb"
input record number 1, file1
source line number 1
使用colNb,我只得到空字段而不是file1
中的字段答案 0 :(得分:3)
在awk中使用-v
选项将shell变量传递给awk:
awk -v colNb="$colNb" '{for(i=3 ; i<colNb; i++) {printf("%s\t", $i)} print ""}' file1 | less
答案 1 :(得分:2)
这样做
awk '{for(i=3 ; i<c; i++) {printf("%s\t", $i)} print ""}' c="$colNb" file1 | less
您需要使用-v
或awk