私は次のようなことをしたいと思います
find ./ -type f | parallel --gnu convert "{}" "$(basename "{}" pdf)jpg"
しかし、それは機能しません (ファイルの名前が に変更されますfilename.pdfjpg
)。問題は、サブプロセスがすぐに実行されることだと思います(を呼び出す前であってもparallel
)。ファイルごとにサブプロセスを実行したいと思います。
私ができる複数のコマンドを備えた find -exec に感謝します:
find *.pdf -exec sh -c 'convert "$1" "$(basename "$1" pdf)png"' _ {} \;
しかし、私は使用したいと思いますGNU parallel
。以下は機能しません。
find ./ -type f | parallel --gnu sh -c 'convert "$1" "$(basename "$1" pdf)jpg"' _ {}
もちろん、2 つのコマンド (例: を使用rename
) でこれを行うことができますが、1 つと を使用して行う方法を学びたいと思いますGNU parallel
。