Geo*_*pty 6 unix linux bash shell stdout
什么是bash中的构造调用,你可以在其中包装一个输出到stdout的命令,这样输出本身被视为一个流?如果我没有那么好地描述,也许一个例子会做得最好,这就是我通常使用的:将diff应用于不是来自文件的输出,而是来自其他命令,其中
cmd
Run Code Online (Sandbox Code Playgroud)
被包裹成
<(cmd)
Run Code Online (Sandbox Code Playgroud)
通过以这种方式包装命令,在下面的示例中,我确定我正在运行的两个命令之间存在一个差异,然后我能够确定一个精确的差异.将命令包装为<(cmd)调用的构造/技术是什么?谢谢
[builder@george v6.5 html]$ git status | egrep modified | awk '{print $3}' | wc -l
51
[builder@george v6.5 html]$ git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext\.define' | wc -l
50
[builder@george v6.5 html]$ diff <(git status | egrep modified | awk '{print $3}') <(git status | egrep modified | awk '{print $3}' | xargs grep -l 'Ext\.define')
39d38
< javascript/reports/report_initiator.js
Run Code Online (Sandbox Code Playgroud)
ADDENDUM使用git的ls文件建议的修订版命令应如下(未经测试):
diff <(git ls-files -m) <(git ls-files -m | xargs grep -l 'Ext\.define')
Run Code Online (Sandbox Code Playgroud)