@LakeForest

Как заархивировать по 70 файлов из одной директории в разные архивы?

Пробовал так, чтобы через tail -n 70 потом 70 пропускать, но:
$ls -l -t test/ | head -70 | tar -cvf archive_2_70.tar.gz
tar: Cowardly refusing to create an empty archive

В директории 210 файлов.
  • Вопрос задан
  • 281 просмотр
Решения вопроса 2
sotvm
@sotvm
Умный поймёт, а дураку и так всё равно.
для tar передавай через xargs , а не по трубе ))
Ответ написан
Комментировать
@LakeForest Автор вопроса
find  ./test/ -name "*.wav" | head -70 | xargs tar -cvf archive.tar.gz
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@pfg21
ex-турист
в трубе нет возможности передать несколько отдельных файлов/наборов имен

сначала нарезаешь твой листинг в отдельные файлики по 70 имен в каждом. закидываешь в рам, чтоб не насиловать носитель.
ls -l -t test/ |  split -l 70 -  /run/user/1000/list

там будет куча файликов c именем listaa listab ....

потом скармливаешь эти отдельные списки имен уже tar
for file in /run/user/1000/list*
do
      i++
      tar  --files-from=$file  -cvf  /path/to/archive_$i_70.tar.gz 
done

получишь пачку тар-архивов в каждом из которых будет по 70 файликов из исходного каталога.

скрипты примерные, по месту допилить.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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