У меня есть каталог. Он имеет около 500K .gz файлов.Извлечь и удалить все .gz в каталоге Linux
Как извлечь все .gz в этом каталоге и удалить .gz-файлы?
У меня есть каталог. Он имеет около 500K .gz файлов.Извлечь и удалить все .gz в каталоге Linux
Как извлечь все .gz в этом каталоге и удалить .gz-файлы?
for foo in *.gz
do
tar xf "$foo"
rm "$foo"
done
Существует более чем один способ сделать это, очевидно.
# This will find files recursively (you can limit it by using some 'find' parameters.
# see the man pages
# Final backslash required for exec example to work
find . -name '*.gz' -exec gunzip '{}' \;
# This will do it only in the current directory
for a in *.gz; do gunzip $a; done
Я уверен, что есть и другие способы, но это, вероятно, самый простой.
И удалить его, просто сделать rm -rf *.gz
в соответствующем каталоге
Это следует сделать это:
gunzip *.gz
... если только это не дает вам ошибку «слишком большой ошибки». В этом случае вы хотите использовать что-то вроде 'find '$ dir" -maxdepth 1 -name' * .gz '-print0 | xjobs -0 -l50 -v2 gunzip', чтобы ограничивать экземпляры до 50 аргументов каждый (и запускать их параллельно). –
извлечь все файлы GZ в текущем каталоге и его подкаталогах:
find . -name "*.gz" | xargs gunzip
@techedemic является правильным, но отсутствует. чтобы указать текущий каталог, и эта команда проходит через все подкаталоги.
find . -name '*.gz' -exec gunzip '{}' \;
Try:
ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 tar xvfz
Тогда попробуйте:
ls -1 | grep -E "\.tar\.gz$" | xargs -n 1 rm
Это распаковка все .tar.gz файлы в текущем каталоге, а затем удалить все файлы .tar.gz. Если вам нужно объяснение, «|» принимает перед ним команду stdout и использует это как stdin команды после нее. Используйте команду «man » «без кавычек, чтобы выяснить, что делают эти команды и аргументы. Или вы можете исследовать онлайн.
Если вы хотите извлечь одноразовое использование файла:
Gunzip file.gz
Это будет извлечь файл и удалите файл .gz.
дублированный ответ из этой темы: https://stackoverflow.com/a/20103343/1847249 –
Файл '.gz' необязательно должен быть архивом. В этом случае вам нечего было удалять при выполнении 'gzip -d file.gz'. – devnull
Я голосующий, чтобы закрыть этот вопрос как не по теме, потому что он принадлежит http://unix.stackexchange.com/ –