Как выполнить команду над несколькими файлами, выводить прогресс и ошибки толькопри выполнении команды над несколькими файлами, вывод прогресса и ошибок только

find -name "" | while read file; do echo -n .; output=$() || (echo ; echo $file:; echo "$output"; ); done


Команда «find» используется для поиска файлов и директорий в заданном расположении. Она принимает аргументы в виде директории () и шаблона имени файла («»). Результаты поиска передаются на вход команде «while read file», которая выполняет указанную команду над каждым найденным файлом.

В данном случае, команда «echo -n .» используется для вывода прогресса выполнения команды над каждым файлом. В случае возникновения ошибки при выполнении команды над файлом, переменная «$output» содержит соответствующий вывод. После завершения выполнения всех команд, если были найдены ошибки, они выводятся вместе с именем соответствующего файла.

Альтернативой данной конструкции может быть использование команды «xargs» совместно с командой, которую необходимо выполнить над каждым файлом. Например, «find -name «» | xargs -I {} {}» выполнит указанную команду над каждым найденным файлом.

Команда «find» поддерживает различные аргументы, такие как «-type» для фильтрации файлов по типу, «-mtime» для поиска файлов по времени изменения и др. Данный пример не содержит дополнительных аргументов, поэтому выполняет обычный поиск по имени файла.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *