在bash脚本中,我想循环存储在csv文件中的值。如何将csv文件中的列导入bash脚本,然后执行以下操作:
for i in {column imported from csv}
do
mkdir "$i"
done
我的csv文件如下所示:
1, 3, 8
4, 6, 10
123, 6, 8
324, 9, 12
如何导入第一列以获取:
for i in {1, 4, 123, 324}
答案 0 :(得分:1)
您甚至不需要循环,只需将cut
与xargs
一起使用:
cut -d, -f1 file | xargs mkdir
使用for
循环获取第一列:
while IFS=, read -ra arr; do
echo "processing ${arr[0]}"
done < file
processing 1
processing 4
processing 123
processing 324
将echo
更改为您想在循环中使用的任何命令。
答案 1 :(得分:0)
$ for i in $(cut -d, -f1 file); do mkdir "$i"; ... ; done
或用awk替换剪切
$ for i in $(awk -F, '{print $1}' file); do mkdir "$i"; ... ; done