debian.org / О Debian Где взять Debian Поддержка Уголок разработчика Новости Wiki

Автор Тема: bash xargs и пробелы в именах )  (Прочитано 1366 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн zCirill

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 118
bash xargs и пробелы в именах )
« : 24 Март 2015, 13:00:29 »
Добрый день.

Подскажите плз про xargs
Нужно прогнать все jpg файлы через оптимизатор изображений jpegtran
В путях к файлам есть пробелы )
Для пробелов -print0 и xargs -0 думаю мне в помощь. Но как дальше?

jpegtran требует имя файла на выход (либо отправляет на stdout) ... как ему передать аргумент из xargs второй раз?


Ищу по каталогам файлы


find /var/www -name *.jpg* -type f -print0 | xargs -0 -L 1 jpegtran -copy none -optimize -outfile .... а вот сюда надо как то передать путь к файлу из xargs


« Последнее редактирование: 24 Март 2015, 13:05:08 от zCirill »
 

Оффлайн Leo

  • Старожил
  • ****
  • Сообщений: 843
  • Jabber: leo.bs@jabber.ru
Re: bash xargs и пробелы в именах )
« Ответ #1 : 24 Март 2015, 15:53:36 »
find /var/www -name "*.jpg*" -type f -print0 | while IFS= read -r -d $'\0' line; do cat $line | jpegtran -optimize -outfile $line; done
 
Пользователи, которые поблагодарили этот пост: zCirill

Оффлайн zCirill

  • Местный житель
  • ***
  • Topic Author
  • Сообщений: 118
Re: bash xargs и пробелы в именах )
« Ответ #2 : 25 Март 2015, 07:45:13 »
find /var/www -name "*.jpg*" -type f -print0 | while IFS= read -r -d $'\0' line; do cat $line | jpegtran -optimize -outfile $line; done

спасибо.

я правильно понял что IFS= read -r -d $'\0' это конструкция для того чтобы определить разделитель?
 

Оффлайн Leo

  • Старожил
  • ****
  • Сообщений: 843
  • Jabber: leo.bs@jabber.ru
Re: bash xargs и пробелы в именах )
« Ответ #3 : 25 Март 2015, 12:33:14 »
даже вот так
find /var/www -name "*.jpg*" -type f | while read i; do jpegtran -optimize -outfile "$i" "$i"; done

Русскоязычное сообщество Debian GNU/Linux

Re: bash xargs и пробелы в именах )
« Ответ #3 : 25 Март 2015, 12:33:14 »


Теги:
 

арифметика с временем на bash [РЕШЕНО]

Автор A_STAS

Ответов: 8
Просмотров: 6358
Последний ответ 02 Апрель 2013, 21:47:06
от A_STAS
bash замена одиночного слеша на экранированный [РЕШЕНО]

Автор zCirill

Ответов: 0
Просмотров: 2869
Последний ответ 04 Июнь 2014, 21:29:47
от zCirill
bash script - ошибка перехода в каталог с тильдой

Автор sunjob

Ответов: 18
Просмотров: 2402
Последний ответ 27 Октябрь 2015, 21:43:47
от vic5710
Bash скрипт замена одного слова

Автор Racer

Ответов: 2
Просмотров: 992
Последний ответ 14 Декабрь 2016, 23:59:21
от }{ronoTrigger
bash скрипт для бесконечного парсинга лога

Автор zCirill

Ответов: 7
Просмотров: 3818
Последний ответ 12 Ноябрь 2013, 12:26:32
от zCirill