Diretório Gunzip de arquivos e saída de pipe Linux

1

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. Então ...

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 sua 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
    
por KennyC 21.06.2013 / 20:37

2 respostas

1

Você pode querer usar um script de shell:

for f in *.gz
do
    zcat "$f" > "other/folder/$(basename "$f" ".gz")"
done
    
por 21.06.2013 / 20:39
0

Com o GNU Parallel você pode fazer:

parallel gunzip -c {} '>' /new/foobar/{/.} ::: /foo/bar/*.gz

O GNU Parallel leva literalmente 10 segundos para instalar:

wget pi.dk/3 -qO - | sh -x

Assista aos vídeos de introdução para saber mais: link

    
por 22.06.2013 / 16:05

Tags