将元素移动到上一行的末尾

时间:2011-06-02 13:39:01

标签: excel batch-file notepad++

我将定义的文本块(“PT”)移动到其上一行的末尾 ...时出现问题,例如,请考虑以下因素: -

  

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

我需要这样: -

  

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

我有一个像这样的大型不规则重复数据..并且需要实现这一点..(将“PT”移动到currentline-1“)

我有Notepad ++我需要以某种方式实现这一点..也许使用电子表格?在线工具?如何?宏?批处理文件?

1 个答案:

答案 0 :(得分: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