Как использовать вместе 'convert' и 'xargs'?

Похоже, вы забыли воссоздать initramfs после изменения конфигурации диска. Чтобы воссоздать его в RHEL 6/7, просто запустите от имени root

dracut --force
4
04.11.2016, 00:02
2 ответа

Я нашел ответ:

for i in 'seq 1 $numOfRGBfiles'; do
#Insert code here that finds the file
#name of each rgb file and stores it 
#in $filename.

'find . -name "*.rgb" | sort | sed -n 
\$i\p |  xargs -I {} convert {} 
\$filename.png'
done
-1
27.01.2020, 20:53

Если вы хотите преобразовать все файлы в дереве каталогов, я бы запустил:

find . -name '*.rgb' | parallel convert {} {.}.png

Это будет при параллельном запуске:

convert ./foo.rgb ./foo.png
convert ./bar/quux.rgb ./bar/quux.png

Здесь я использую GNU Parallel, чтобы задействовать все ваши CPU. В зависимости от вашей системы вы можете установить его как пакет, в противном случае он находится здесь gnu.org/software/parallel . В Debian это:

apt-get install parallel

Изменить:
Вот решение без GNU Parallel :

find . -name '*.rgb' -exec sh -c 'convert "$0" "${0%.*}.png"' {} \;

и не очень хорошее решение с использованием while..read :

find . -name '*.rgb' | while read FILE; do convert "${FILE}" "${FILE%rgb}png" ; done
6
27.01.2020, 20:53

Теги

Похожие вопросы