如何获得空白行之前的行数。例如:
This is a paragraph This is a paragraph This is a paragraph This is a paragraph This is a paragraph This is a paragraph This is a paragraph
第一组应计3行,第二组计4行。
我使用了Get-Content .\testing.txt | Measure-Object -line
来返回行的总数,但这不是我想要的。
答案 0 :(得分:3)
Get-Content
返回一个数组,因此任何回车或换行都会丢失。假设没有空格,则以下返回3.相应地调整以修剪"空格"如果他们不被认为是人物。
$a = Get-Content .\testing.txt ; [array]::IndexOf($a,'')
编辑:以下循环内容并输出任何空白行之前的行数。空行或具有任意数量空格的行被视为空白。要将空格视为空行,请删除" .trimend"。
$a = Get-Content C:\powershell\tmp.txt ; $i = 0;
while( [array]::IndexOf($a.trimend(' '),'', $i) -gt 0)
{
$j = [array]::IndexOf($a.trimend(' '),'', $i); $j - $i; $i = $j + 1 ;
}
答案 1 :(得分:1)
这将逐步通过文件行找到第一个空白。
$lines = Get-Content C:\Dev\PS\3.txt
for ($i = 0; $i -le $lines.Length; $i++) {
if ($lines[$i].Length -eq 0) {
break
}
}
echo $i