#!/bin/sh #csvファイルから実験名(alias, 2列目)を取り出し、コンマ区切りで並べて変数に格納 cut -d ',' -f 2 csvtest.csv | sed -e '1d' >tmp.txt list=$(paste -s -d ',' tmp.txt) echo $list
csvから変数を取り出す アレイジョブ編
#!/bin/sh #$ -cwd #$ -t 1-10 csvfile=csvtest.csv line=$SGE_TASK_ID #1行目は項目名なので飛ばす line=`expr $line + 1` alias=$(sed -n "${line}p" $csvfile | cut -d ',' -f 2) file1=$(sed -n "${line}p" $csvfile | cut -d ',' -f 4) file2=$(sed -n "${line}p" $csvfile | cut -d ',' -f 5) echo "aliasは$alias" echo "file1は$file1" echo "file2は$file2" echo "==========="
親スクリプトから子スクリプトに変数を渡すにはexportで環境変数としなければならない。
#!/bin/sh #$ -cwd #$ -t 1-10 csvfile=csvtest.csv line=$SGE_TASK_ID #1行目は項目名なので飛ばす line=`expr $line + 1` export alias=$(sed -n "${line}p" $csvfile | cut -d ',' -f 2) export file1=$(sed -n "${line}p" $csvfile | cut -d ',' -f 4) export file2=$(sed -n "${line}p" $csvfile | cut -d ',' -f 5) # サブコマンドを実行 sh ./child.sh