1

Я хочу скопировать каталог в другое место (в Linux) и сжать некоторые файлы (с определенным расширением) с помощью GZip в месте назначения, а другие файлы просто скопировать. Может ли это быть достигнуто одним вкладышем с хорошей эффективностью? Многие файлы должны быть копиями, следовательно, чем эффективнее, тем лучше.

1 ответ1

1

Ну, как академическое упражнение:

set -e # abort on errors
find /source -print | while read object_name; do
  if [ -d "$object_name" ]; then
    mkdir -p /destination/$object_name
  else
    if echo "$object_name" | egrep "(txt|html|...)" >/dev/null # extensions you want to compress
      cat $object_name | gzip >/destination/${object_name}.gz
    else
      cp $object_name /destination/$object_name
    fi
  fi
  rm /source/$object_name # could comment this out to preserve the source if you have the space
done

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .