Чтобы просто получить количество символов в (не -скрытых)jar
именах файлов, я бы сделал
cd /usr/hdp/2.6.4.0-91/tez_hive2/lib/ && printf %s *.jar | wc -m
Это не будет учитывать никаких новых строк, просто символы имени файла (заменяют wc -m
на wc -c
для количества байтов вместо символов ).
Я намеренно не анализирую ls
вывод .
Рискуя дать несколько не по -теме/альтернативный ответ :, сделайте себе одолжение и используйте для этой цели такой инструмент, как borgbackup
. Кажется, вы поставили все галочки и будет
Я не связан с borgbackup
, но счастливый пользователь. Подробнее здесь .
РЕДАКТИРОВАТЬ:по просьбе еще ответить на вопрос "более прямо" вот несколько идей:
Используйте флаг exclude
, как описано на справочной странице , т. е. с шаблоном в качестве аргумента, например --exclude='*.log'
, вы можете использовать его несколько раз для разных шаблонов. Будьте осторожны с перекрывающимися включениями/исключениями, они могут дать результат, отличный от ожидаемого (У меня были проблемы с этим раньше ). Если ваших паттернов много и/или они сложные, поместите их в текстовый файл и обратитесь к--exclude-from=excludes.txt
Что касается части сжатия :Я не уверен в zip
и причине вашей проблемы (для этого потребуется дополнительная информация ), возможно, это связано с созданием промежуточного файла в фоновом режиме или «устаревшая» файловая система, например ограничение размера файла 2 ГБ.
Однако для Linux вам может быть лучше использовать современное сжатие, которое поддерживается «из коробки» с tar
, например xz
или bz2
(, первый из которых довольно эффективен по сравнению с ), а также потому, что вы можете просто передайте его куда-нибудь во время генерации, поэтому гарантированно без промежуточных файлов.
Но опять же, вы упускаете очень привлекательную функциональность, не используя более специализированный инструмент, особенно потому, что вы сжимаете после rsync,что делает невозможным инкрементное резервное копирование ваших сжатых архивов. Я бы сказал, что KISS — это хорошо, но KISS намного лучше, (второй S = Smart ), и есть вездесущие инструменты с открытым исходным кодом, которые просто :умнее, чем «просто» rsync в одиночку.
Ура, пингвин