私は初心者です。以下のコードを修正して実行時間を短縮しようとしています。 (今は時代がかかります)可能であれば、助けや提案をお願いします。あらかじめありがとうございます。 list.txtにと仮定すると入れ子のforループの可能な修正
#!/bin/sh
for pheno in `cat /wrk/abc/composition/results/list.txt`; do
header=`head -1 /wrk/abc/composition/results/"$pheno"/meta_"$pheno".out`
echo "pheno $header" > results.txt
for pheno in `cat /wrk/abc/composition/results/list.txt`; do
awk -v p="$pheno" \
'NR == FNR{a[$1]; next}($3) in a{print p, $0}' \
list.txt \
/wrk/abc/composition/results/"$pheno"/meta_"$pheno".out \
>> results.txt
done
done
入力ファイルと出力ファイルを表示し、最初にawkコマンドのみを使用した場合の結果を確認します。 –