私のコンピューターには、調査のためにオンラインで見つけたデータベース全体を含むディレクトリがあります。このデータベースには何千ものファイルが含まれているため、必要なことを行うために、ファイル I/O を調べてきました。プログラマーの友人が bash/awk の使用を提案しました。私は自分のコードを書きました:
#!/usr/bin/env awk
ls -l|awk'
BEGIN {print "Now running"}
{if(NR == 17 / $1 >= 0.4 / $1 <= 2.5)
{print $1 > wavelengths.txt;
print $2 > reflectance.txt;
print $3 > standardDev.txt;}}END{print "done"}'
これをコンソールに入れると、アクセスする必要のあるファイルのディレクトリに既に入っています。必要なデータは、すべてのファイルの 17 行目から始まります。データは次のようになります。
some number some number some number
some number some number some number
. . .
. . .
. . .
最初の列の値が 0.4 (またはおよそ) のときにデータにアクセスし、最初の列の値がおよそ 2.5 になるまで情報を取得したいと考えています。最初の列は波長を表します。後で各ファイルがすべて同じであることを確認したいので、ファイルにコピーします。2 番目の列は反射率を表し、後でこの情報を取得してデータ マトリックスを作成するため、これを別のファイルにしたいと考えています。3 列目は反射率の標準偏差です。
私が今抱えている問題は、このコードを実行すると、次のエラーが発生することです: No such file or directory
なぜこのエラーが発生するのか、または私がやろうとしていることのコードの書き方を教えてくれる人がいたら、教えてください...とても感謝しています。