Pertanyaan Urutkan file dengan grep


Saya memiliki beberapa ratus file output, yang sebagian berisi pesan kesalahan. Katakanlah saya ingin secara otomatis memasukkan semua file yang berisi string "ERROR_1" di "subfolder_1", dan sisanya dalam "subfolder_2" kedua. Ini harus dimungkinkan dengan memipakan grep entah bagaimana. Apa yang akan menjadi sintaks yang berguna?


4
2017-09-06 08:18


asal


Ini mungkin membantu - 50-3


Jawaban:


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

Ini harus berfungsi.


5
2017-09-06 08:30





Skrip ini akan memindahkan file ke dalam subfolder. Ubah wildcard * sesuai kebutuhan (mis. *.log) - kode ini akan mencari semua file di direktori saat ini

for f in *
do
    grep -f ERROR_1 "$f"
    if [ $? -eq 0 ]; then
       mv "$f" subfolder_1
    else
       mv "$f" subfolder_2
    fi
done

4
2017-09-06 08:25