我喜欢这样的30.000行:
23 DE ENERO 23 DE ENERO
23 DE ENERO AGUA SALUD
在ENERO(第一个)之后,我需要添加一个像' - '这样的行,所以它看起来像:
23 DE ENERO - 23 DE ENERO
23 DE ENERO - AGUA SALUD
如何在Windows上使用批处理文件执行此操作?
或者用另一种语言有更好的方法来实现这个目标吗?
提前致谢!
答案 0 :(得分:3)
下面的批处理文件假定:
就像你的示例数据一样!如果实际数据不同,则需要相应地调整此方法。
@echo off
setlocal EnableDelayedExpansion
(for /F "delims=" %%a in (input.txt) do (
set "line=%%a"
echo !line:ENERO =ENERO - !
)) > output.txt
答案 1 :(得分:2)
@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(
FOR /f "delims=" %%a IN (q24276927.txt) DO (
SET "line=%%a"
SET /a start=-1
CALL :split
)
)>newfile.txt
GOTO :EOF
:split
SET /a start+=1
IF "!line:~%start%,5!" neq "ENERO" GOTO split
ECHO(!line:~0,%start%!ENERO - %line:*ENERO=%
GOTO :eof
我使用了一个名为q24276927.txt
的文件,其中包含我的测试数据。
生成newfile.txt