![Mac OS xargs 在行尾添加 '?[m'](https://linux22.com/image/159426/Mac%20OS%20xargs%20%E5%9C%A8%E8%A1%8C%E5%B0%BE%E6%B7%BB%E5%8A%A0%20'%3F%5Bm'.png)
我正在尝试删除一些本地 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
,请检查您的别名。