xargsの-Iオプションが機能しなくなる時がある
find
で取得した長いファイルパスを xargs
で取り扱いたいのですが、-Iオプションが機能しません。
実行したコマンド
path="あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも"
echo "path: ${path}"
find "${path}" -mindepth 1 -maxdepth 1 -print0 | xargs -0 -n1 -P10 echo
find "${path}" -mindepth 1 -maxdepth 1 -print0 | xargs -0 -n1 -P10 -I {} bash -c "echo {}"
実行結果
$ bash ./test.sh
path: あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも
あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/.DS_Store
あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも/あいうえおかきくけこさしすせそたちつてとなにぬねのまみむめも
{}
{}
上記のように置き換えが機能せず、なぜか {}
がそのまま表示されてしまいます。
どうしてでしょうか?
実行環境はmasOS Sierra 10.12.6です。
よろしくお願いいたします。