Ответ 1
gzip */*.txt
Но расширение для каждого файла будет .txt.gz, поскольку gzip использует его, чтобы узнать исходное имя файла.
У меня есть несколько каталогов, которые выглядят так:
dir1/
|_foo.txt
|_bar.txt
dir2/
|_qux.txt
|_bar.txt
Для каждого из этого каталога я хочу сжать файлы внутри него в формате *.gz затем удалите несжатые. Поэтому, наконец, мы надеемся получить что-то вроде этого:
dir1/
|_foo.gz
|_bar.gz
dir2/
|_qux.gz
|_bar.gz
Есть ли простой способ Unix?
gzip */*.txt
Но расширение для каждого файла будет .txt.gz, поскольку gzip использует его, чтобы узнать исходное имя файла.
Следующие действия будут работать, даже если у вас есть подкаталоги. Например. dir1/dir2/.../foo.txt
find . -type f -name "*.txt" -exec gzip {} \;
gzip -r dir1 dir2