Mantendo dirs em ordem com o GNU Parallel

1

Eu preciso copiar uma grande quantidade de arquivos em seus próprios diretórios. O problema que estou tendo é mantê-los em ordem quando os copio com o GNU paralelo. Por exemplo, file_1.output é colocado em dir_19.

Aqui está o que eu tenho até agora que está funcionando, além da ordem dos arquivos.

ls *.output > copy.list
parallel "mkdir cele_{}" ::: {1..10000}
parallel -k --link "cp {} cele_{}" :::: copy.list ::: {1..10000} 

Existe uma maneira de fazer isso sem sacrificar o paralelo?

(Inspirado pelo link )

    
por Ole Tange 28.02.2018 / 17:27

1 resposta

0

Você pode usar --rpl para definir sua própria sequência de substituição e usá-la para mkdir e cp .

ls *.output |  parallel --rpl '{dir} s/\.output$/_dir/' 'mkdir {dir} && cp {} {dir}'
    
por 28.02.2018 / 17:27