powershell - 无法将内容输出到带有换行符的文本文件
问题描述
我正在使用out-file
将内容发送到文本文件,即使它通常会在一行接一行之间放置换行符,但在这种情况下不会发生。
输出如下所示:
苹果球国
我期待它如下
苹果 球 国家
下面是我正在使用的代码片段,请忽略变量(因为这只是一个正在进行的工作)。
foreach ($li in $bin) {
$list2 = $list1 | Where-Object {$_ -like $li}
#$list2 #| out-file info2.txt
foreach ($li2 in $list2) {
$li3 += $li2 | where-object {$_ -like $li -and $_ -like "*Error*"}
$li3 | out-file info2.txt # it's this part that I am not able to get to
#the text file with line breaks
break
}
}
一般来说,我刚开始使用 powershell 和堆栈溢出,并且知道我可能不会在这里提供全部信息。
另外,我现在无法提供 powershell 版本,因为我不知道该怎么做。
解决方案
您的问题不在于out-file
您的$li3 string
.
当您这样做时,+=
PowerShell 只会将这些词混合在一起,而不是将它们视为单独的对象。
您可以做的是添加where-object
到您的foreach
语句,并手动分配一个新行。
foreach ($li in $bin)
{
$list2 = $list1 | Where-Object {$_ -like $li}
foreach ($li2 in $list2 | Where-Object {$_ -like $li -and $_ -notlike "Error"})
{
$li3 += $li2 + "`r`n"
$li3 | out-file info2.txt
break
}
}
out-file
移动到循环之外也可能是一个好主意。
推荐阅读
- python - 在训练我的神经网络后,如何从最后一个解码器层“logits”中提取图像?
- javascript - 使用扩展运算符克隆集导致 Gatsby 中的嵌套集
- python-3.x - Scrapy 规则:使用进程链接排除某些 url
- typescript - 在 Typescript 中定义为箭头函数的方法上调用 super.method() 时出错
- r - 使用反应数据集的模块内部的renderHighchart
- amazon-web-services - 如何创建自定义事件触发器以在创建新存储桶时调用 lambda?
- python - functionB的多线程线程直到function A的线程完成才开始,但是functionA的线程不等待functionB
- oracle - 不输入参数时忽略where子句中的日期范围参数
- python - ipywidgets 与 Jupyter Lab 1.0+ 版兼容?
- php - PHP密码验证,