我将以下数字表保存为csv
文件格式,如下所示:
5, 6, 9, 5,
2, 8, 1, 1,
1, 2, 3, 6,
. . . . .
. . . . .
. . . . .
. . . . .
该表中的每一行都描述一个矩形尺寸。
我想在命令行中输入每行的四个数字以创建矩形,如下所示:
rectang -cs x1 x2 x3 x4 # rectang is a script to create rectangle; -cs flag means dimensions; x1, x2, x3 x4 the rectangle dimensions
我正在考虑将csv文件“ table.csv
”转换为制表符分隔的文本“ table.txt
”文件,然后在for循环中使用它,如下所示:
for i in $(cat table.txt); do
rectang -cs x1 x2 x3 x4
done
但我不知道如何从表中将x1 x2 x3 x4馈送到命令“ rectang”
感谢帮助。
该read
命令可以抓取多个单词,以字符分隔$IFS
(默认值:空格,制表符,换行符)
while read -r d1 d2 d3 d4; do
rectang -cs "$d1" "$d2" "$d3" "$d4"
done < file.csv
给定您修改的数据(用逗号和空格分隔的字段),我可以这样做:
while IFS=",$IFS" read -r d1 d2 d3 d4; do # ...
包含逗号作为字段分隔符。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句