bash - AWK 没有正确地将输入标记为 git 别名的一部分
问题描述
我正在尝试添加一个 git 别名来提示我删除所有本地 git 分支。我已经走了很远,我已经达到了以下几点:
pdb = "! sh -c 'git branch -vv | grep -v \"origin/.*\" | awk \"{print $1}\" | xargs -L1 -I{} -p git branch -D {}' -"
第一部分将列出所有具有详细输出的分支,以便在通过管道传输到 时grep
,我们可以使用远程对应项过滤掉分支。awk
然后应该获取该输出的第一部分,即分支名称,并将其发送到xargs
命令。我遇到的麻烦awk
是将整个详细输出传递给xargs
.
这个答案让我更接近了一点,但我仍然没有从awk
https://stackoverflow.com/a/25954749/3356508获得预期的输出
$ git pdb
git branch -D master-test1 9837ec0f0 test commit 1 ?...y
error: branch 'master-test1 9837ec0f0 test commit 1' not found.
git branch -D master-test2 2810823bc test commit 2 ?...y
error: branch 'master-test2 2810823bc test commit 2' not found.
解决方案
无法测试您的问题,但我认为这是因为您没有逃避$
in awk,因此您最终会进行简单的打印,默认情况下会打印所有内容。
尝试:
pdb = "! sh -c 'git branch -vv | grep -v \"origin/.*\" | awk \"{print \\$1}\" | xargs -L1 -I{} -p git branch -D {}' -"
推荐阅读
- reactjs - 单击时 Redux 状态计数未更新
- java - Libgdx firebase robovm 绑定
- php - 将 JSON 对象作为字符串而不是数组发送
- reactjs - How Do I Create A 2 Column Form WIth React Material-UI?
- ios - React-native fetch (ios) RANDOMLY 使 https 请求失败,网络请求失败
- c++ - gcc 在这个概念定义中是否错误地评估了 std::declval ?
- java - 在junit类中排序
- ios - Braintree Apple Sandbox Pay 扫描指纹 iOS 后显示付款未完成错误
- google-cloud-platform - How do you implement role based authorisation after authenticating with Google Cloud IAP?
- php - 如何关闭或退出安装在我的 Ubuntu 18.04 中的 Docker?