OK、約90個のファイルがあり、各ファイルの本文は次のとおりです。
187942 78.9
2番目の列の値が70から90のファイルをフィルタリングして別のディレクトリに移動したいと思います。
ベストアンサー1
小さなスクリプトを使用して、awk
良いファイルと悪いファイルを区別できます。たとえば、次のようになります。
#!/bin/bash
mkdir -p another-directory
for f in * ; do
if ! awk '$2>=70 && $2<=90 { exit 1; }' "$f" ; then
mv -- "$f" another-directory/
fi
done
ここで重要なのは、これがexit 1
失敗の終了であることです。したがって、条件文withは、awk
単に2番目のトークンが70から90(含む)の数である行の存在を検出します。それ以外の場合はawk
正常に終了して成功します。感嘆符はこれを否定し、ファイルに良い行がある場合は条件をtrueにし、それ以外の場合はfalseにします。