代码之家  ›  专栏  ›  技术社区  ›  Callback Kid

AWK没有正确地将输入标记为git别名的一部分

  •  1
  • Callback Kid  · 技术社区  · 7 年前

    我试图添加一个git别名,以提示我删除所有本地git分支。我已经走了很长一段路,我已经达到了以下目标:

    pdb = "! sh -c 'git branch -vv | grep -v \"origin/.*\" | awk \"{print $1}\" | xargs -L1 -I{} -p git branch -D {}' -"
    

    第一部分将列出具有详细输出的所有分支,以便在管道传输到 grep awk 然后获取输出的第一部分,分支名称,并将其发送到 xargs 锥子 参数代换 .

    这个答案让我更接近了一点,但是我仍然没有从 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.
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   Poshi    7 年前

    无法测试您的问题,但我认为这是因为您没有逃避 $ 在awk中,你最终会做一个简单的打印,默认情况下,它会打印所有内容。

    pdb = "! sh -c 'git branch -vv | grep -v \"origin/.*\" | awk \"{print \\$1}\" | xargs -L1 -I{} -p git branch -D {}' -"