2011-06-02 46 views
0

的我有一個定義的文本塊(「PT」)移動到其前一行 ..爲例如的端部的問題,可以考慮以下幾點: -移動元件以結束前一行

100001,-6.0704
PT
100061,19.1127
100122,8.1831
PT

我需要的是: -

100001,-6.0704PT
100061,19.1127
100122,8.1831PT

我有一個大的不規則重複這樣的數據..和需要實現這個..(移動「PT 「to currentline-1」)

我有記事本++我需要實現這個莫名其妙..也許使用電子表格?在線工具?如何?宏?批處理文件?

回答

0

試試這個作爲第一次嘗試

@echo off 
setlocal enabledelayedexpansion 
set prevline= 
for /f "tokens=*" %%a in (a.txt) do (
    if '%%a'=='PT' (
    echo !prevline!PT 
    set prevline= 
) else (
    if not '!prevline!'=='' echo !prevline! 
    set prevline=%%a 
) 
) 

這個批處理文件迭代的A.TXT文件的所有行,存儲在變量prevline每一行,如果碰巧找到「PT」字符串它吐出存儲的行並連接PT,如果它不發現PT字符串,它只吐出存儲的行並存儲新的行。

如需進一步說明,請參閱help forhelp set

+0

謝謝!這就像一個魅力.. Btw是這條線:如果不是'!prevline!'==''用於忽略空格? – Irfan 2011-06-03 05:47:41

+0

是的,它的確如此。當發現PT防止重複時,它也與'set prevline ='一起工作;但這可能不是你想要的行爲。 – 2011-06-03 07:30:30