Ari*_*oon 7 windows shell cmd pipe command-prompt
在linux中,有可能这样做:
git diff $(git status -s -b | sed -n '2p' | cut -d' ' -f2-)
Run Code Online (Sandbox Code Playgroud)
或者更简单的情况
ls $(pwd)
Run Code Online (Sandbox Code Playgroud)
问题是如何在Windows中实现相同的目标?(不使用批处理文件,在命令提示符中使用单行程序).并非所有命令都支持管道,那么我们如何评估一个并将结果作为参数传递给另一个?
我尝试过管道<,>但没有工作.
git diff < (git status -s -b | sed -n '2p' | cut -d' ' -f2-)
Run Code Online (Sandbox Code Playgroud)
自己尝试一下它需要一个文件.并且|不起作用,因为git diff不支持它
git status -s -b | sed -n '2p' | cut -d' ' -f2- | git diff // results in illegal seek
Run Code Online (Sandbox Code Playgroud)
asc*_*pfl 14
没有$操作员cmd.
重定向操作符(<,>,>>)预计文件或流句柄.
管道|将命令的标准输出传递到另一个命令的标准输入.
甲for /F环然而是能够捕获命令的输出和在可变参考提供它(的%A在本例中); 请参阅以下代码:
for /F "usebackq delims=" %A in (`git status -s -b ^| sed -n '2p' ^| cut -d' ' -f2-`) do git diff %A
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8203 次 |
| 最近记录: |