标题: [文本处理] 批处理如何快速按照列规则合并文本? [打印本页]
作者: strong12345 时间: 2011-8-3 09:45 标题: 批处理如何快速按照列规则合并文本?
本帖最后由 strong12345 于 2011-8-3 09:46 编辑
文本1内容- 这是测试
- 你好
- aaaaaaa
- ^&*$0__@_@
复制代码
文本2内容- 这是实战
- 晚安
- bbbbbbbb
- *(){}---(  ̄ c ̄)y▂ξ
复制代码
想把他合并成- //这是测试//这是实战//
- //你好//晚安//
- //aaaaaaa//bbbbbbbb//
- //^&*$0__@_@//*(){}---(  ̄ c ̄)y▂ξ//
复制代码
请问除了for读取文本,依序行输出外,有没有比较高效率的方法?
作者: strong12345 时间: 2011-8-3 12:11
本帖最后由 strong12345 于 2011-8-3 12:13 编辑
此法不错
体会到 set /p 的应用经随
可是尚未解决我的问题
我的文档有6万多行,包含各种乱码(几乎都是乱码)
用此法有些乱码会导致处理错误....
正在尝试修改代码为我是和使用的方案
感谢
作者: CUer 时间: 2011-8-3 13:02
- paste -d "/" a.txt b.txt | sed "s#/#//#;s#^#//#;s#$#//#" | more >c.txt
复制代码
作者: Hello123World 时间: 2011-8-4 13:14
本帖最后由 Hello123World 于 2011-8-4 13:28 编辑
回复 2# else
findstr 的/n参数可以省略:
一般我都是喜欢把setlocal加在行首,这种哪里需要延迟加在哪里的方法确实令思路更加严谨。- @echo off
- @Echo off
- (For /f "delims=" %%a in ('Findstr .* 1.txt') do (
- Set "a=%%a"
- Setlocal enabledelayedexpansion
- Set /p b=
- Echo \\!a!\\!b!
- Endlocal
- ))<2.txt>3.txt
- 3.txt
- pause>nul
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |