xargsコマンドの中(引渡し先コマンド)でパイプを使うには

ずっと自分の中でやり方が謎だったがようやく解決。

xargsがデータを引き渡すコマンドの中で処理ごとに随時パイプを使いたいが、普通に使うとxargsが全部処理を終了してからパイプに引き渡される。

そこで登場するのがksh

ls | xargs -i ksh -c 'grep {} data_file | wc -l'

こんな感じで使えば毎処理ごとにパイプに渡される。