arrays – 将数组传递给awk,其中包含需要打印的列号

arrays – 将数组传递给awk,其中包含需要打印的列号,第1张

概述我有一个CSV文件(usvd.csv),其中包含41列,我的bash脚本处理标题行以查看要打印的列,结果是我需要打印41列中的26列.这些可能不同 – CSV中的列数和/或需要打印的列数. 包含需要打印的列数的数组如下: ${UNIQUE[@]} = 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 26 30 35 37 39 40 41 因此,在 我有一个CSV文件(usvd.csv),其中包含41列,我的bash脚本处理标题行以查看要打印的列,结果是我需要打印41列中的26列.这些可能不同 – CSV中的列数和/或需要打印的列数.

包含需要打印的列数的数组如下:

${UNIQUE[@]} = 1 2 3 5 6 7 8 9 10 11 12 13 14 15 16 17 18 20 21 26 30 35 37 39 40 41

因此,在41列中,我只想打印上面列出的列,它们可能因文件而异.

谢谢!!

解决方法 你可以用cut.请考虑以下示例:
UNIQUE=(1 2 4 6)          # Array containing columns to be printedfIElds=$( IFS=,echo "${UNIQUE[@]}")      # Get the fIElds in comma-delimited form# seq -s,10 would print the string: 1,2,3,4,5,6,7,8,9,10seq -s,10 | cut -d,-f"${fIElds[@]}"     # Print the desired fIElds

这会导致

1,6
总结

以上是内存溢出为你收集整理的arrays – 将数组传递给awk,其中包含需要打印的列号全部内容,希望文章能够帮你解决arrays – 将数组传递给awk,其中包含需要打印的列号所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1049475.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存