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