Eu gostaria de gunzip um diretório cheio de arquivos compactados e canalizar a saída (preservando os arquivos originais) para um diretório diferente. Preciso que os nomes originais permaneçam iguais. Assim...
gunzip -c *.gz > file/path/filename
# Search for all .gz in current directory and redirect output here. How do I grab the name of the file found using the wildcard?
obrigado pela ajuda
Atualização: script final abaixo
FILES= /foo/bar/*.gz
for gz in $FILES; do
echo "unzipping $gz..." 1>&2
fn=$(basename $gz .gz)
gunzip -c $gz > /new/foobar/$fn
done
Respostas:
Você pode querer usar um script de shell:
fonte
Com o GNU Parallel você pode fazer:
O GNU Parallel leva literalmente 10 segundos para instalar:
Assista aos vídeos de introdução para saber mais: https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1
fonte
parallel: Warning: Input is read from the terminal. Only experts do this on purpose. Press CTRL-D to exit.
É um problema de sintaxe? Você pode fornecer informações sobre o script editado na pergunta?GNU parallel 20130622