gpt4 book ai didi

powershell - 选择对象上的空格和带省略号的截断

转载 作者:行者123 更新时间:2023-12-02 05:48:58 24 4
gpt4 key购买 nike

我想弄清楚为什么 Select-Object

  1. 在其输出的开头添加大量空格;和
  2. 用省略号截断长属性。

这是我的意思的复现。假设您在 C:\ 上运行这些命令:

New-Item "MyTest" -Type Directory
cd MyTest
"Some very long lorem ipsum like text going into a certain file, bla bla bla and some more bla." | Out-File test.txt
Get-ChildItem | Select-String "text" | Select-Object LineNumber,Line

这将显示如下输出:

Select-Object output

我能理解的省略号,就是将结果写入控制台主机时命令最终格式化的方式。然而,在这种情况下,开头的空格仍然让我感到困惑。

当我将结果通过管道传输到 clipOut-File output.txt 时,事情变得更奇怪了。我得到了类似格式的输出,开头有很多空格和截断的 Line 属性。

哪个命令导致了这种行为,我该如何正确解决这个问题?最重要的是:如何将完整结果放入文件或剪贴板上?

最佳答案

输出数据的默认行为是使用不带任何修饰符的Format-TableFormat-Table的默认行为是将视口(viewport)拆分为宽度相等。这对输出宽度没有任何假设,并且速度更快,因为 cmdlet 不需要在输出之前处理来自管道的任何字符串数据。

要减少空格,您应该使用 Format-Table -AutoSize 作为输出方法。 -AutoSize 开关首先测量数据的宽度,然后根据计算出的宽度输出。如果您需要不接收省略号并始终显示完整的数据集,请将-Wrap开关添加到Format-Table,这样值将被包装成多个行,但您可以通过在 Powershell 窗口中选择一个方形区域来复制它,只需从剪切的内容中去除换行符即可。

Get-ChildItem | Select-String "text" | Select-Object LineNumber,Line | Format-Table -AutoSize -Wrap

关于powershell - 选择对象上的空格和带省略号的截断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31314853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com