这似乎是一个简单的问题,但我发现命令行中的所有内容都令人困惑。
我有一个CSV,有5列。我想用前面在bash脚本中定义的变量乘以第2-5列中的所有内容。
显然,以下内容不起作用,但这正是我试图实现的目标:
awk -F , -v OFS=, 'seq($2 $5)*='$MULTIPLIER in.csv > out.csv
一般来说:
awk -F, -v OFS=, -v m="${MULTIPLIER}" '{for (i=2;i<=5;i++) $i*=m}1' in.csv > out.csv
假设有一个标题记录,以及设置FS/OFS
:的变化
awk -v m="${MULTIPLIER}" 'BEGIN {FS=OFS=","} NR>1 {for (i=2;i<=5;i++) $i*=m}1' in.csv > out.csv