Перемещение элементов в конец предыдущей строки - PullRequest
0 голосов
/ 02 июня 2011

У меня проблема с перемещением определенного текстового блока ("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 голосов
/ 02 июня 2011

попробуйте это как первую попытку

@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 for и help set.

...