从csv文件中读入列到bash脚本中

时间:2015-12-02 21:27:51

标签: bash csv

在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} 

2 个答案:

答案 0 :(得分:1)

您甚至不需要循环,只需将cutxargs一起使用:

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