grepでファイルを並べ替える


4

数百の出力ファイルがあり、そのうちのいくつかにはエラーメッセージが含まれています。文字列「ERROR_1」を含むすべてのファイルを「subfolder_1」に、残りを2番目の「subfolder_2」に自動的に配置するとします。これは、どういうわけかgrepをパイピングすることで可能になるはずです。便利な構文は何でしょうか?


これが役立つ場合があります
50-3 2013

回答:


5
for a in *;do grep -q ERROR_1 "$a" && mv "$a" subfolder_1 || mv "$a" subfolder_2;done

これは動作するはずです。


4

このスクリプトは、ファイルをサブフォルダーに移動します。*必要に応じてワイルドカードを変更します(例*.log)-このコードは現在のディレクトリ内のすべてのファイルを検索します

for f in *
do
    grep -f ERROR_1 "$f"
    if [ $? -eq 0 ]; then
       mv "$f" subfolder_1
    else
       mv "$f" subfolder_2
    fi
done
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.