如何使 powershell 中的 tee 不在窗口宽度处换行?

如何使 powershell 中的 tee 不在窗口宽度处换行?

目前,我正在执行以下命令来查看文件夹中的所有文件中的字符串,然后tee将该行查找到文件中:

ls -r [folder] | sls "dummy text" | tee dummy.file

这些文字很长,可能看起来像

 123445678461454516132113213213214dummy textsadawgwgabagga

当我在 powershell 中使用该命令时,如果屏幕不够大,它会显示如下内容,例如,

123445678461454516132113213213214dummy 
textsadawgwgabagga

这在 powershell 中是没有问题的,但我不明白的是它以那样的方式将其写入文件(我猜我明白为什么,因为它可能根据它拆分的方式将每一行单独传输到 tee)。

有什么方法可以将这些内容tee全部放到文件中的一行上吗?

编辑:执行以下操作可行,但如果可能的话,我宁愿使用 tee 在控制台中查看它

ls -r | sls | out-file -width 1000 dummy.file

答案1

您的问题是输出MatchInfo返回的对象的方式。如果您只是从 matchinfo 对象中提取属性(在这种情况下,您输出的是字符串而不是 MatchInfo 对象),您应该会得到您想要的行为:select-stringLine

ls -r [folder] | sls "dummy text" | select -expand Line | tee dummy.file

相关内容