我有一个 .CSV 文件,需要从中提取数字。文件示例:
#File of numbers
1,2,3,4,5
6,7,8,9,10
我想使用 awk (或其他实用程序)提取第一个数字和第二个数字并将它们存储在变量中以在我的 bash 脚本中执行计算。我想排除以 # 开头的第一行。
执行计算后,我想提取第三个数字以继续计算并重复,直到获得所有数字。我不知道如何开始,希望得到一些帮助。我知道我需要将 awk 脚本放入循环中以获得第三、第四等,但我对如何编写 awk 脚本感到困惑。
答案1
答案2
通过在 awk 和 shell 之间来回切换来解决此问题的唯一方法是让 AWK 脚本生成下一步的 shell 代码。但这对我来说听起来太复杂了。我还建议将所有内容都转移到 awk 中(或者这里也允许使用 perl 吗?)
答案3
这在bash
其他 shell 中非常简单:
while IFS=, read a b c d e ; do
your_stuff
done < your_csv_file
IFS 是输入字段分隔符。将命令设置
read
为仅逗号。一次读取五个变量。
使用全新的 shell 变量 $a $b $c $d $e 完成你的工作。
while
您必须在循环末尾、关键字之后定义输入重定向done
。