bash:我如何连接两个命令的输出以便我可以将它们传递给第三个命令?

标签 bash shell mercurial awk concatenation

$ hg status

$ hg status --ignored

给出非常相似的输出。我想将它们连接起来,这样我就可以将它们提供给 awk,就好像有一个 hg status --all (或 svn 的 svn status --no-ignore)

我在想:

$ echo "$(hg status)" "$(hg status --ignored)" | awk  ' ( $1 == "?" ) || ( $1 == "I") { print $2 }' | xargs rm -r

做一个“make very clean indeed”命令,但它似乎偶尔会留下一个文件,可能是因为缺少换行符或其他原因。

最佳答案

使用curly braces to group commands :

$ { echo first line; echo second line; } | grep "line"
first line
second line

(作为来自 camh's comment 的答案发布)

关于bash:我如何连接两个命令的输出以便我可以将它们传递给第三个命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7499013/

相关文章:

linux - 意外标记附近出现语法错误 `else'

Mercurial 关键字扩展以扩展每次提交

shell - 编写 VirtualBox 和 VM 镜像目录的脚本?

svn - 如何将 svn repo 导入到 mercurial 中?

version-control - 如何忽略 Mercurial 文件夹下的所有内容

regex - 如何根据目录名称更改多个文件的内容?

bash - 如何将 Leiningen 添加到 .bashrc

linux - 删除文本文件中少于 3 个单词的行

shell - 如何在oozie中执行并行作业

linux - 如何在命令行上设置 Log4perl 日志级别?