在awk中对几个列运行数学

  • 本文关键字:几个 运行 awk csv awk
  • 更新时间 :
  • 英文 :


这似乎是一个简单的问题,但我发现命令行中的所有内容都令人困惑。

我有一个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

相关内容

  • 没有找到相关文章

最新更新