多数のファイルを独自のディレクトリにコピーする必要があります。私が持っている問題は、GNUを並列にコピーするときに順番に維持することです。たとえば、file_1.output は dir_19 に配置されます。
ファイルの順序はさておき、これまで私が得たものは次のとおりです。
ls *.output > copy.list
parallel "mkdir cele_{}" ::: {1..10000}
parallel -k --link "cp {} cele_{}" :::: copy.list ::: {1..10000}
並列性を犠牲にせずにこれを行う方法はありますか?
(からインスピレーションを受けるhttps://rbt.asia/g/thread/64890073/#64890111)
ベストアンサー1
--rpl
andを使用して独自の代替文字列を定義し、それをmkdir
andに使用できますcp
。
ls *.output | parallel --rpl '{dir} s/\.output$/_dir/' 'mkdir {dir} && cp {} {dir}'