【问题标题】:Redirect stdout into buffer editor before piping to other commands在管道传输到其他命令之前将标准输出重定向到缓冲区编辑器
【发布时间】:2014-01-16 04:07:16
【问题描述】:

我正在尝试清理我的本地 git 分支集。有很多,我不想为所有这些都做git branch -D branchname。也没有任何模式可以捕获所有我想杀死的人。然后我记得我曾经看到有人通过管道将标准输出输入到缓冲区编辑器中,我认为这听起来很完美。

我想获取git branch -l 的输出,将其通过管道传输到 nano,编辑缓冲区,然后(在退出 nano 时)将最终缓冲区作为输入提供给另一个命令(特别是 xargs git branch -D) .

在没有运气的情况下玩了一段时间,这已经成为一个与动态编辑缓冲区相关的学术问题——所以,请不要使用 git 特定的解决方案。我想知道如何在 bash one-liners 中动态编辑缓冲区,因为这似乎是一种 bash-fu,可以将我提升为神。当夹在例如之间时,可接受的答案也应该起作用。 find 和文件或路径操作(如 rmcatgrep)。

【问题讨论】:

    标签: bash nano


    【解决方案1】:

    分号是完全可以接受的运算符。

    git branch -l > /tmp/branches; nano /tmp/branches; whatever /tmp/branches; rm /tmp/branches
    

    【讨论】:

    • 这有效:git branch -l > /tmp/branches; nano /tmp/branches; cat /tmp/branches | xargs git branch -D; rm /tmp/branches;我仍然希望找到一个不会创建需要清理的文件的版本,但如果没有任何结果,我会将其标记为答案。谢谢!
    猜你喜欢
    • 2011-12-13
    • 2016-04-26
    • 1970-01-01
    • 1970-01-01
    • 2014-05-06
    • 2014-02-18
    • 2020-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多