在bash腳本中,我想循環使用存儲在csv文件中的值。我如何從一個CSV文件導入到一個bash腳本導入一列,然後做一些事情,如:從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}
在bash腳本中,我想循環使用存儲在csv文件中的值。我如何從一個CSV文件導入到一個bash腳本導入一列,然後做一些事情,如:從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}
你甚至都不需要循環,只要使用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
到要在循環中使用什麼命令。
這很好,如果我只是做目錄,但我想要循環,因爲我需要用變量做其他事情。 – user2483176
好的檢查編輯的答案。 – anubhava
$ for i in $(cut -d, -f1 file); do mkdir "$i"; ... ; done
或更換切斷與AWK
$ for i in $(awk -F, '{print $1}' file); do mkdir "$i"; ... ; done
你想在數據中的逗號或不?假設語法中4個值中的3個在它們之後有逗號,這可能是也可能不是數據中的逗號。 –
不,我不想要逗號 – user2483176