1. ホーム
  2. macos

[解決済み] ターミナルで行数を表示しようとすると、"xargs unterminated quote "というエラーが発生する。

2022-02-08 07:51:17

質問

アプリケーションの行数を取得したい。以下のコードを使用しています。

find . "(" -name "*.m" -or -name "*.h" ")" -print | xargs wc -l

他のアプリケーションでは正常に動作していますが、私のアプリケーションの1つでは、エラー "xargs unterminated quote" が発生します。

どうすればいいですか?

ファイル名の中に引用符が含まれていませんか? このように試してみてください。

find . "(" -name "*.m" -or -name "*.h" ")" -print0 | xargs -0 wc -l

-print0 引数は find は、出力する各名称の終端に NULL 文字を使用します。 そのため -0 引数は xargs は、入力トークンが NULL 終端であることを示します。 これにより、引用符のような特別な文字として扱われる問題を回避することができます。