xargs
#find(command) #shell
Linuxで「Too many open files」というエラーになる場合の対処: 小粋空間
xargs -n 256
-nオプションで、渡すファイルの数を制限
https://unix.stackexchange.com/questions/7558/execute-a-command-once-per-line-of-piped-input
cat file... | xargs -n1 command
-I オプションで、パイプから受け取る(ファイル名など)の位置を任意に置く。
$ find . -name "*.json" -print0|xargs -0 -I{} sh -c "jq < {}"
この場合は、 -Iは要らないけど。
-I replace-str
initial-arguments 中で文字列 replace-str が現れるすべての箇所を、 標準入力から読み込んだ名前で置き換えます。 なお、 標準入力中にクォートされていない空白があっても、 それは入力項目の区切りにはなりません。 区切り文字は改行文字だけになります。 -x と -L 1 の指定を暗に含みます。
なぜ I なのかなと思ったけど、initial-argumentsをreplace すると。今だったら iにしないのかも。
https://linuxjm.osdn.jp/html/GNU_findutils/man1/xargs.1.html