【问题标题】:Join every other line in Powershell加入 Powershell 中的每一行
【发布时间】:2023-02-05 04:39:31
【问题描述】:

我想合并下面输入的每一行。这是输入。

ALPHA-FETOPROTEIN      ROUTINE    CH 0203 001   02/03/2023@10:45 LIVERF3
     ###-##-####    #######,####        In lab
ALPHA-FETOPROTEIN      ROUTINE    CH 0203 234   02/03/2023@11:05 LIVER
     ###-##-####    ########,########   In lab
ANION GAP              STAT       CH 0203 124   02/03/2023@11:06 DAY
     ###-##-####    ######,##### ####   In lab
BASIC METABOLIC PANE   ROUTINE    CH 0203 001   02/03/2023@10:45 LIVERF3
     ###-##-####    #######,#### ###### In lab

这是所需的输出

ALPHA-FETOPROTEIN      ROUTINE    CH 0203 001   02/03/2023@10:45 LIVERF3 ###-##-####    #######,####        In lab
ALPHA-FETOPROTEIN      ROUTINE    CH 0203 234   02/03/2023@11:05 LIVER ###-##-####    ########,########   In lab
ANION GAP              STAT       CH 0203 124   02/03/2023@11:06 DAY ###-##-####    ######,##### ####   In lab
BASIC METABOLIC PANE   ROUTINE    CH 0203 001   02/03/2023@10:45 LIVERF3 ###-##-####    #######,#### ###### In lab

我试过的代码是

for($i = 0; $i -lt $splitLines.Count; $i += 2){
  $splitLines[$i,($i+1)] -join ' '
}

它来自Joining every two lines in Powershell output。但我似乎无法让它为我工作。我不太精通 powershell,但我受制于工作中可用的东西。

【问题讨论】:

标签: powershell


【解决方案1】:

只读两行然后打印一行

$inputFilename = "c:	emp	est.txt"
$outputFilename = "c:	emp	est1.txt"

$reader = [System.IO.StreamReader]::new($inputFilename)
$writer = [System.IO.StreamWriter]::new($outputFilename)
while(($line = $reader.ReadLine()) -ne $null)
{
   $secondLine = ""
   if(!$reader.EndOfStream){ $secondLine = $reader.ReadLine() }

   $writer.WriteLine($line + $secondLine)
}
$reader.Close()
$writer.Flush()
$writer.Close()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-24
    • 2015-05-21
    • 2010-12-23
    • 1970-01-01
    • 2013-10-03
    相关资源
    最近更新 更多