Mac OS xargs は行末に '?[m'' を追加します。

Mac OS xargs は行末に '?[m'' を追加します。

いくつかのローカルGitブランチを削除しようとしています。

git branch -D $(git branch | grep 'RTL-1[1|2|3]' | xargs)

しかし、このエラーが発生しました。

error: branch 'RTL-1114_branch_name1?[m' not found.
error: branch 'RTL-1224_branch_name2?[m' not found.
error: branch 'RTL-1225_another_branch?[m' not found.

何らかの理由で文字列 "? [m""が追加されますが、gitコマンドがない場合は、スペースで区切られた枝はランダムに印刷されます。
私のLinuxコンピュータでは動作すると思いますが、MacOSでは違いますか?

ベストアンサー1

出力に常に色を使用するように設定gitおよび/または設定できます。grep

git branch -D $(git branch --color=never | grep --color=never 'RTL-1[123]')

動作する必要があります。

git独自のパターンマッチングを使用できます。

git branch -D $(git branch --color=never -l '*RTL-1[123]*')

これを防ぐには、auto次の設定を使用する必要がありますcolor。端子に出力すると色が出力され、それ以外の場合は色は出力されません。適切な構成git:

git config --global color.ui auto

の場合は、grep別名を確認してください。

おすすめ記事