回答:
の一部のバージョンにsort
は、-z
ヌル終了レコードを許可するオプションがあります。
find folder1 folder2 -name "*.txt" -print0 | sort -z | xargs -r0 myCommand
さらに、それを行うための高レベルのスクリプトを作成することもできます。
find folder1 folder2 -name "*.txt" -print0 | python -c 'import sys; sys.stdout.write("\0".join(sorted(sys.stdin.read().split("\0"))))' | xargs -r0 myCommand
-r
オプションを追加して、引数で呼び出されるxargs
ことを確認しmyCommand
ます。
-t \0
ソートのオプション(-z
同義語)もあります
|sort
ソリューションの問題は、-exec
もう使用できないことです。OK、与えられたあなたの文を書き換えることが可能であるが-exec
、それはで動作するようにxargs
質問が、あり、どのような「ミニスクリプト」について?(sh -c ...
)複数のコマンドで「sh -c」ミニスクリプトを変換して、xargs
(可能であれば)つまり
printf %s\\n a b c d e | xargs -n3 sh -c 'printf %s, "$@"; printf \\n' x
GNU Parallel http://www.gnu.org/software/parallel/がインストールされている場合、これを行うことができます。
find folder1 folder2 -name "*.txt" -print |
sort |
parallel myCommand
GNU Parallelは次の方法で簡単にインストールできます。
wget http://git.savannah.gnu.org/cgit/parallel.git/plain/src/parallel
chmod 755 parallel
cp parallel sem
詳細については、GNU Parallelのイントロビデオをご覧ください:https : //www.youtube.com/playlist?list=PL284C9FF2488BC6D1
.
異なります...sort
リストの最後に表示されます...python
トップに並べ替えられます。(たぶんpythonでソートLC_COLLATE=C
)