unterminated quote
はBSD系のxargsでシングルクオート/ダブルクオートが含まれるファイルを操作しようとするときに出てくるエラー。
以下ソースコード(公式ミラー)。引数をパースしようとしているときにシングルクオート/ダブルクオートが含まれていたら unterminated quote
エラーが出て終了する。
freebsd/xargs.c at master · freebsd/freebsd · GitHub
対策は、例によってfindするときに -print0
、xargsするときは -0
で区切り文字をヌル文字にする対応をやる。両方でヌル文字対応しないと文字列が揃わないからコケる。
ちなみにGNU系のxargsで同じようにシングルクオート/ダブルクオートのファイルが含まれていたら、 unmatched %s quote
が返ってくるようになっている。(シングルクオートならunmatched single quote
だしダブルクオートならunmatched double quote
)対策はprint0/0オプションでBSDといっしょ。以下ソース(有志ミラー)
node-gnu-tools/xargs.c at master · c9/node-gnu-tools · GitHub
なお、silver searcherで同じようなファイルを検索しようとすると何もエラーメッセージは返ってこないがexit statusは0じゃなくて1が返る。