Eu tenho um diretório cheio de arquivos .gz
, quero expandir cada arquivo em paralelo com o GNU paralelo. Porém não consegui nada.
tentei
parallel 'gunzip {}' ::: `ls *.gz`
parallel gunzip `ls *.gz`
sem resultados, bash me diz:
/bin/bash: archive1.gz: command not found
...
O que estou fazendo de errado?
Obrigado
Responder1
eu encontreiesse, que sugere o uso do --gnu
sinalizador:
parallel --gnu gunzip ::: *gz
Se isso funcionar, você deve excluir /etc/parallel/config
ou alterar seu conteúdo para --gnu
em vez de --tollef
(como root):
echo "--gnu" > /etc/parallel/config
Também,nunca analise a saída de ls
., use globbing como fiz acima ou find
em vez disso:
find . -name "*gz*" -print0 | parallel -q0 gunzip
Responder2
Fazer isso funciona:
ls *.gz | parallel -t gunzip
É -t
opcional, mas é útil porque mostra os comandos que são executados no stderr.
Não tenho certeza se você está fazendo algo errado :::
e deve funcionar (é equivalente), mas nem mesmo os exemplos na página de manual funcionam para mim.
Atualização: a --gnu
bandeira faz funcionar como disse Terdon.