TL;DR xargsはGNU版(Linuxなど)とBSD版(Macなど)が存在し挙動に違いがある。 BSD版のxargsでは-Iオプション(文字列置換)を利用する場合にバイト数の制限がある。 -Iオプションは置換後の文字列が255バイト以上になった場合に置換されない。 -Jオプションを代わりに利用することでバイト数制限の問題は解決するが、-Iオプションとは異なる挙動もあるので注意が必要。 MacにGNU版のxargsを入れてしまうのも手。 実行環境 本記事は、以下の環境にて実行しています。 macOS Catalina 10.15.7 (Intel) GNU bash, version 3.2.57 ハマった点 スクリプトを書くまでもないけど自動化したい処理をsed/awk/xargsなどのコマンドを駆使したワンライナーで済ますことは多いと思います。 また、アドホックな処理では各人のロー