本文介绍了如何使用批处理文件加入2行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个文本文件,其行数未知,某些行以pattern开头,我想将以pattern开头的行与下一行连接起来,例如

I have a text file that have unknown number of lines , some lines begins with patterns , I want to join the lines that begins with patterns with the next line , so for example

name=jimmy
age=19 id=23423 site=www.xxx.com
bla bla
name=katy
age=15 id=234543 site=www.yyy.com
name=ross
age=29 id=54564 site=www.ZZZZ.com

输出应为

name=jimmy age=19 id=23423 site=www.xxx.com
 bla bla bla
name=katy age=15 id=234543 site=www.yyy.com
name=ross age=29 id=54564 site=www.ZZZZ.com

所以模式是名称",它应该加入下一行我想使用sed,但我不知道如何请帮助

so the pattern is 'name' and it should join next lineI thougt to use sed but I dont know how help please

推荐答案

好吧,这是一个简单的脚本:

Well, here's a straightforward script:

@echo off
setlocal enabledelayedexpansion
set "INPUT_FILE=input.txt"
set "OUTPUT_FILE=output.txt"
set prev=
for /f "tokens=*" %%f in (%INPUT_FILE%) do (
    for /f "tokens=1,2 delims==" %%g in ("%%f") do (
        if "!prev!" neq "" (
            echo !prev! %%f >>%OUTPUT_FILE%
            set prev=
        ) else (
            if "%%g" equ "name" (
                set prev=%%f
            ) else (
                echo %%f >>%OUTPUT_FILE%
                set prev=
            )
        )
    )
)

这篇关于如何使用批处理文件加入2行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 16:22