目前,我正在执行以下命令来查看文件夹中的所有文件中的字符串,然后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-string
Line
ls -r [folder] | sls "dummy text" | select -expand Line | tee dummy.file