Есть ли сценарий для сжатия каждого файла в каталоге и вывода его в другой каталог? - PullRequest
0 голосов
/ 29 мая 2020

Итак, я хочу сжать файлы в заданном каталоге, например / etc / input и вывести файлы в / etc / output, и это должно выглядеть так:

$ ls /etc/input
file1
file2
file3

$ script.sh

$ ls /etc/output
file1.zip
file2.zip
file3.zip

$ ls /etc/input

На данный момент , то, что я написал, выглядит так:

find . -type f -print | while read fname ; do
    mkdir -p "../output/`dirname \"$fname\"`"
    gzip -c "$fname" > "../output/$fname.gz"
done

1 Ответ

0 голосов
/ 29 мая 2020

Вы можете использовать find, но я думаю, что это проще с чистым Bash.

INPUT=/etc/input
OUTPUT=/etc/output

mkdir -p "$OUTPUT"
for file in "$INPUT"/* ; do
  gzip -c "$file" > "${OUTPUT}/${file}.gz"
done

Измените INPUT и OUTPUT в соответствии с тем, что вы хотите.

...