2012-10-23 66 views
1

我嘗試解析一些文本文件,並在年底,我需要做1號線從2號線:PowerShell的 - 連接字符串

19.10.2012 15:33:22<TAB here!> 
textline<TAB here!>#1 
19.10.2012 15:33:13<TAB here!> 
textline<TAB here!>#2 
19.10.2012 15:29:29<TAB here!> 
textline<TAB here!>#3 
19.10.2012 15:29:23<TAB here!> 
textline<TAB here!>#4 

在輸出端我需要這樣的:

19.10.2012 15:33:22<TAB here!>textline<TAB here!>#1 
19.10.2012 15:33:13<TAB here!>textline<TAB here!>#2 
19.10.2012 15:29:29<TAB here!>textline<TAB here!>#3 
19.10.2012 15:29:23<TAB here!>textline<TAB here!>#4 

請幫幫我! :)

編輯:這是我:

Get-ChildItem $Path -Recurse -Include *.* | Foreach-Object {$_.FullName} | 
Foreach-Object { 
    Write-Host $_ 
    $Item = Get-Item $_ 
     (Get-Content $_ -ReadCount 2 -Encoding UTF8) | Foreach-Object { 
     (-join $_)}} | Set-Content $Item -Encoding UTF8 
+1

我不使用PowerShell,但[標籤]在」查找/替換[回車]「會做到這一點。最簡單的非自動化方式是在MS Word中打開文件,並用「^ t」替換「^ t^p」。大多數優秀的代碼編輯器也接受正則表達式或接近等價。 linux/unix中的'sed'也很容易。 – Marc

回答

3
Get-Content test.txt -ReadCount 2 | 
Foreach-Object { (-join $_) -replace '<TAB here!>',"`t" } 
+0

謝謝!使用您的代碼! – tiv

0

一個辦法:

$g = @() 
$a = gc .\yourTXTfile.txt 

for ($i=0; $i -lt $a.count ; $i+=2) 
{ $g += $a[$i]+$a[$i+1] } 

$g | set-content .\yournewTXTfile.txt 
+0

謝謝,你能告訴你如何在這個結構中包含腳本:'Get-ChildItem $ Path -Recurse -Include *。* | Foreach-Object {$ _。FullName} | ((Get-Content $ Item -Encoding UTF8)-Replace'\ d +。\ d +。\ d + \ d +:\ d +:Foreach-Object { \t Write-Host $ _ $ Item = Get-Item $ _ \ d + \t \ n','\ d +。\ d +。\ d + \ d +:\ d +:\ d + \t')| Out-File $ Item -Encoding UTF8 }'我嘗試通過刪除EOL字符來實現。(請參閱「... - 替換... – tiv