@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 файлов.
  • Вопрос задан
  • 280 просмотров
Решения вопроса 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 файликов из исходного каталога.

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

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

Войти через центр авторизации
Похожие вопросы