awkを使用してループインデックスをファイルに印刷するには?

awkを使用してループインデックスをファイルに印刷するには?

awkを使用してループインデックスをファイルとして印刷する必要があります。これが私が使用するコードです。

echo "Write the start and end file number:"
read sta end
echo "$sta" "$end"
for (( c="$sta"; c<="$end"; c++ ))
do
  echo "$c"
  awk '{if (NR < 15 && $8 >0.48 && $8 <0.52 && $9 >0.48 && $9 <0.52 && $10 >0.48 && $10 <0.52) {print $1 " " $8 " " $9 " " $10}}' RD00$c/MergerHalos.out >> center_raw.dat
done

列値1、8、9、10に加えて、次の値を書き込む必要があります。

center_raw.datに。

ベストアンサー1

あなたの要件が何であるかはよくわかりませんが、以下で推論できるのはあなたの要件のようです。

awk -v var="$c" '{if (NR < 15 && $8 >0.48 && $8 <0.52 && $9 >0.48 && $9 <0.52 && $10 >0.48 && $10 <0.52) {print var ":" $1 " " $8 " " $9 " " $10}}' RD00$c/MergerHalos.out >> center_raw.dat

-vオプションは、awkawk で外部 bash 変数の値を渡すために使用されます。

おすすめ記事