繁体   English   中英

如何从命令输出中删除多余的行?

[英]How to remove extra lines from the command output?

以下命令输出 4 行:

PS C:\> &{ py -3 -c "for i in range(2): print(f'{i}\r\n', end='')" ; Write-Output "" ; Write-Output "Done!" }
0
1

Done!

我需要处理输出(添加一些信息,如时间戳、级别等):

PS C:\> $c=0 ; &{ py -3 -c "for i in range(2): print(f'{i}\r\n', end='')" ; Write-Output "" ; Write-Output "Done!" } | %{ Write-Host ('{0:d3} : {1}' -f (++$c),$_) }
001 : 0
002 :
003 : 1
004 :
005 :
006 : Done!

但现在有一些额外的行 - 002、004。

我怎样才能得到以下输出:

001 : 0
002 : 1
003 :
004 : Done!

?

脚本块&{ }内的外部命令(如py )可能以任意顺序与 PowerShell 命令混合。

这对我有用:

&{ py -3 -c "for i in range(2): print(f'{i}\r', end='')" ; Write-Output "" ; Write-Output "Done!" }

所以我删除了“\\n”,因为它触发了一个新行,但你已经用“\\r”触发了返回。

我得到以下输出:

0
1

Done!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM