4

У меня есть несколько сотен выходных файлов, некоторые из которых содержат сообщения об ошибках. Допустим, я хочу автоматически поместить все файлы, содержащие строку "ERROR_1", в "subfolder_1", а остальные - во вторую "subfolder_2". Это должно быть возможно как-то с помощью команды grep. Какой будет полезный синтаксис?

2 ответа2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .