Судя по коду в https://github.com/zplug/zplug, эти сообщения отправляются zplug на стандартный вывод через printf, поэтому вы можете отключить их, изменив эту строку:
source ~/.zplug/init.zsh && zplug update
на этот:
source ~/.zplug/init.zsh && zplug update > /dev/null
Чтобы полностью запретить обновление, просто удалите команду обновления:
source ~/.zplug/init.zsh
Создайте скрипт в ~/bin
для обработки списка файлов, назовите его doit
, содержащий
#!/bin/bash
while [[ $# -ne 0 ]] ; do
thisfile="$1"
shift
dos2unix -k -n "$thisfile" tmp_file
mv tmp_file "$thisfile"
done
Затем,
chmod +x ~/bin/doit
И, наконец,
find /path/to/files -type f -print0 | \
xargs -0 -r $HOME/bin/doit
Считать man find xargs bash
.
На самом деле все гораздо проще. Вам не нужно вызывать оболочку или использовать mv
, потому что dos2unix
уже изменяет целевой файл, если вы не установите для него флаг -n
.
find /path_to_files -type f -exec dos2unix -k -q -- {} +
-type f
так что find ищет только обычные файлы, а не каталоги. -q
присваивается флагу dos2unix
, чтобы он не выводил информационные сообщения на стандартный вывод. И мы используем {} +
вместо {} \;
, чтобы find не вызывал один процесс dos2unix
для каждого найденного файла, а вместо этого отдавал столько файлов, сколько мог, в качестве аргументов(dos2unix file1 file2 file3...
).
Xargs будет просто одним дополнительным процессом и, следовательно, одним дополнительным штрафом за время. По возможности избегайте запуска новых процессов.