我正在编写一个shell脚本文件,其中必须打印文件的某些列。所以我试着用锥子。在脚本中计算列号。Nprop是for循环中的一个变量,从1变为8。
avg=1+3*$nprop
awk -v a=$avg '{print $a " " $a+1 " " $a+2}' $filename5 >> neig5.dat
我也试过以下方法:
awk -v a=$avg '{print $a " " $(a+1) " " $(a+2) }' $filename5 >> neig5.dat
这将导致始终打印前三列。
最佳答案
avg=1+3*$nprop
例如,如果
$avg
是4,这将按字面意义将1+3*4
设置为$prop
。您应该计算该表达式:avg=$(( 1+3*$nprop ))
并使用带括号的
awk
脚本版本。关于bash - 从bash将变量传递到awk,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16340775/