как ускорить сжатие папок через цикл - PullRequest
0 голосов
/ 29 октября 2019

Я хотел бы найти быстрый способ сжатия папок через цикл. У меня есть 1000 папок, и каждая папка имеет 40000 файлов (общий размер 3 ГБ).

Вот мой код для этого:

for f in Simulation*/; do
echo "$f" &&  
test "$(find "$f" -type f | wc -l)" -eq 40000 &&
find -type f | grep -P '\.csv|\.tiff|\.txt' | tar -czf "${f%/}.tar.gz" "${f%/}" &&
rm -rf "$f"
done

Вот некоторые подробности о коде:

  • Шаг 1: найдите полные папки, содержащие 40000 файлов
  • Шаг 2: найти файлы с некоторыми расширениями (.csv, .tiff, .txt) в полных папках и сжать их
  • Шаг 3: удалить необработанные папки, которые были сжаты

Будем весьма благодарны за любую идею о том, как улучшить мой код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...