Linux 使用带变量的awk
我使用这个awk命令从文本文件中提取三行Linux 使用带变量的awk,linux,awk,Linux,Awk,我使用这个awk命令从文本文件中提取三行 awk 'BEGIN {FS="\t";OFS=","}; {print $1,$3,$10}' $FILENAME > $OUTPUT 我希望将列编号单独指定为一个变量,以便将来更容易进行如下修改: COLUMNS=$1,$3,$10 awk 'BEGIN {FS="\t";OFS=","}; {print $COLUMNS}' $FILENAME > $OUTPUT 但是,它将所有列都拉入输出,而不仅仅是指定的3i。如何正确地执行此操
awk 'BEGIN {FS="\t";OFS=","}; {print $1,$3,$10}' $FILENAME > $OUTPUT
我希望将列编号单独指定为一个变量,以便将来更容易进行如下修改:
COLUMNS=$1,$3,$10
awk 'BEGIN {FS="\t";OFS=","}; {print $COLUMNS}' $FILENAME > $OUTPUT
但是,它将所有列都拉入输出,而不仅仅是指定的3i。如何正确地执行此操作?像这样
$ more file
a,b,c,d,e
1,2,3,4,5
$ a='$1,$2,$NF'
$ awk -F, "{print $a}" file
a b e
1 2 5
@有帮助吗:这个建议有效。那么,为什么这不能回答OP的问题呢?你被引用必需品/规则/限制的外壳困住了。尝试
echo$COLUMNS
并开始获得启发