[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎样把字符串替换成回车并清空所有空行?

缩略图:       和     标题:     后面都有一个空格  复制测试就可
1.TXT 文件内容:

缩略图:
标题: 【强势三生关注|||三生:每天|||30  分钟|||bbb 000

缩略图:
标题: OPK最|||有前途的|||事业|||项目|||123456

缩略图:
标题: 2010年|||最诚信的网|||游戏

变成X.TXT:
【强势三生关注
三生:每天
30  分钟
bbb 000
OPK最
有前途的
事业
项目
123456
2010年
最诚信的网
游戏

以上只是列了几行   ,实际有10M-1G一个的TXT  如果能实现  尽量提供能支持大型文件的批处理命令

请知道的朋友帮帮我   先谢谢了

[ 本帖最后由 w1983912 于 2011-2-9 22:48 编辑 ]
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

如果是显示在屏幕上:
  1. @echo off&setlocal enabledelayedexpansion
  2. set h=^
  3. for /f "delims=" %%a in (a.txt) do (
  4. set tmp=%%a
  5. for %%a in ("!h!") do echo !tmp:^|^|^|=%%~a!
  6. )
  7. pause
复制代码
如果是输入到x.txt:
  1. @echo off&setlocal enabledelayedexpansion
  2. set h=^
  3. (for /f "delims=" %%a in (a.txt) do (
  4. set tmp=%%a
  5. for %%a in ("!h!") do echo !tmp:^|^|^|=%%~a!
  6. ))>tmp.tmp
  7. (for /f "delims=" %%a in (tmp.tmp) do echo %%a)>x.txt
  8. pause
复制代码
这个输出到文件的用法不知道有没有人开发过...

[ 本帖最后由 zm900612 于 2011-2-9 03:21 编辑 ]

TOP

  1. @echo off
  2. (for /f "usebackq tokens=1*" %%a in ("1.txt") do if not "%%b"=="" echo;%%b)>"x.txt"
  3. fr.exe "x.txt" /ric:"|||" /t:"\r\n"
复制代码
fr.exe:http://ishare.iask.sina.com.cn/f/7088512.html
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 2楼 的帖子

@echo off&setlocal enabledelayedexpansion
set h=^


(for /f "delims=" %%a in (a.txt) do (
set tmp=%%a
for %%a in ("!h!") do echo !tmp:^|^|^|=%%~a!
))>tmp.tmp
(for /f "delims=" %%a in (tmp.tmp) do echo %%a)>x.txt
pause

谢谢 还可以  但是没有把        缩略图:       和     标题:        去掉

能么   朋友

TOP

回复 3楼 的帖子

也同样谢谢3楼的朋友       使用3楼这位朋友的代码      变成了一行一个字符..........

TOP

回复 2楼 的帖子

这个可以有。

提高批处理代码效率的常用技巧及方案
http://bbs.bathome.net/thread-4831-1-1.html
http://bbs.bathome.net/viewthread.php?tid=4482#pid28940
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 6楼 的帖子

.................这么多说明..............

继续请求帮助

TOP

  1. sed "s/缩略图: \|标题: //g;s/|||/\n/g" 1.txt | sed "/^$/d" | more >2.txt
复制代码

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. set h=^
  3. (for /f "delims=" %%a in ('findstr "^标题: " a.txt') do (
  4.    set tmp=%%a
  5.    set tmp=!tmp:~4!
  6.    for %%a in ("!h!") do echo !tmp:^|^|^|=%%~a!
  7. ))>tmp.tmp
  8. (for /f "delims=" %%a in (tmp.tmp) do echo %%a)>x.txt
  9. pause
复制代码

[ 本帖最后由 zm900612 于 2011-2-9 22:53 编辑 ]
1

评分人数

TOP

回复 9楼 的帖子

8楼的 不知道为什么 会提示 非法命令

9楼的朋友  一步到位。。。。。。感谢所有回答者  辛苦了

TOP

回复 10楼 的帖子

兄弟。SED可是很强的文本处理的外部命令啊。只要你对正则表达式运理解的好,用它应该是首选。
SED下载:http://www.bathome.net/thread-3981-1-1.html(L上用的是哪版的有些不清楚)
不过个人建议一下,如果用到了外部命令还是给个下载地址吧
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

嗯,sed确实很强大,准备学一下~

TOP

回复 12楼 的帖子

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

正好用到,多谢楼上!

TOP

顺便回复一下6楼:
我指的是先用换行符替换,再用for把单个换行符变成换行+回车输出到文件

TOP

返回列表