LINUX.ORG.RU

Устал копипастить sed-скрипт

 ,


0

1

Вот обыкновенная программа просто сваливает список файлов в файл и чтобы sh-утиль спокойна файлы по списку подхватывал нужно проделывать кучку экранирования:

cat ../SIZES |../../utils/filter_size.py \<5M|sed -e '/^$/d'  -e 's/\\/\\\\/g' -e 's/"/\\"/g' -e "s/'/\\\\'/g" |xargs -I {} cp --parents '{}' ../r/

Чем бы вот эту команду с sed-ом заменить чем-нибудь по-лаконичнее?

★★★★★

Засунуть всё это в filter_size.py, пропадёт не только sed, но и cat, xargs и cp.

vodz ★★★★★
()

Чем бы вот эту команду с sed-ом заменить чем-нибудь по-лаконичнее?

Не факт, что будет лаконичнее, но printf %q "$arg" для экранирования может быть более универсальным вариантом.

xaizek ★★★★★
()

Питон запрещен религией?

Deleted
()

Кошмар какой. Это экранирование точно необходимо? Ведь xargs передает аргументы как есть, не раскрывая ничего.

Ну и отобрать файлы по размеру можно через find, по произвольному критерию через find -exec тест {} \;

legolegs ★★★★★
()

Устал копипастить

Так засунь в скрипт и положи его в /usr/bin, в чём проблема-то?

Moondancer
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.