![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-06 00:21 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教, 如何批量删除特定字符后的换行符? |
| 可打印版本 1,969 / 18 |
| 第1楼 justine | 发表于 2007-09-24 13:44 |
| 初级用户 发帖 9 积分 20 | |
|
请教, 如何批量删除特定字符后的换行符? 想批量处理单个文件下特定字符后的换行符, 文件比较长!
文件名: aaa.txt 格 式: 2007-9-12; 9,972.19 2007-9-13; 9,762.19 2007-9-14; 9,372.19 如何才能自动删除 ; 后的换行符? 完成后保存为另一份文件,如 bbb.txt 文件比较长, 一般超过6万行, 格式如上, 没有其它多余字符... 请大家指教!! |
|
| 第2楼 wudixin96 | 发表于 2007-09-24 14:12 |
| 银牌会员 发帖 931 积分 1,928 | |
|
意思是把两行合并成一行吧?
|
|
| 第3楼 justine | 发表于 2007-09-24 14:18 |
| 初级用户 发帖 9 积分 20 | |
|
是的, 准确的说是隔行复制...
|
|
| 第4楼 wudixin96 | 发表于 2007-09-24 14:21 |
| 银牌会员 发帖 931 积分 1,928 | |
|
2007-9-12;
9,972.19 2007-9-13; 9,762.19 2007-9-14; 9,372.19 ======================================== 2007-9-12;9,972.19 2007-9-13; 9,762.19 2007-9-14; 9,372.19 改后是这样的格式吗? |
|
| 第5楼 justine | 发表于 2007-09-24 14:23 |
| 初级用户 发帖 9 积分 20 | |
|
是的, 可以做到吗?
|
|
| 第6楼 wudixin96 | 发表于 2007-09-24 14:29 |
| 银牌会员 发帖 931 积分 1,928 | |
|
用sed
|
|
| 第7楼 justine | 发表于 2007-09-24 14:31 |
| 初级用户 发帖 9 积分 20 | |
|
不好意思, 我完全是个新手, 可以用bat吗?
而且 Originally posted by wudixin96 at 2007-9-24 02:29 PM: 好像没有指定文件名和路径?? |
|
| 第8楼 wudixin96 | 发表于 2007-09-24 14:37 |
| 银牌会员 发帖 931 积分 1,928 | |
|
试试这个吧 |
|
| 第9楼 justine | 发表于 2007-09-24 14:43 |
| 初级用户 发帖 9 积分 20 | |
|
执行了, 可是没有看到保存的文件...
可以直接覆盖原文件吗? |
|
| 第10楼 wudixin96 | 发表于 2007-09-24 14:45 |
| 银牌会员 发帖 931 积分 1,928 | |
|
只能先导出到临时文件,再删除原文件,然后改临时文件名为原文件名
|
|
| 第11楼 justine | 发表于 2007-09-24 14:51 |
| 初级用户 发帖 9 积分 20 | |
|
第二个写法应该是直接合并两行, 我还是希望只删除 ; 后的换行符, 然后覆盖原文件,这样文本增加新的内容 (格式同修改前)也不用重复执行...
|
|
| 第12楼 justine | 发表于 2007-09-24 14:52 |
| 初级用户 发帖 9 积分 20 | |
|
还是很多谢 wudixin96 !
|
|
| 第13楼 yoyodos | 发表于 2007-09-24 17:28 |
| 初级用户 发帖 59 积分 128 | |
Originally posted by wudixin96 at 2007-9-24 02:37 PM: |
|
| 第14楼 yoyodos | 发表于 2007-09-24 19:55 |
| 初级用户 发帖 59 积分 128 | |
|
适用性好些,学习下 |
|
| 第15楼 terse | 发表于 2007-09-24 20:10 |
| 银牌会员 发帖 946 积分 2,404 | |
|
发一个版主的学习
@echo off set num=0 setlocal enabledelayedexpansion for /f "delims=" %%i in (aaa.txt) do ( set /a num+=1 set str=!str! %%i if !num! equ 2 echo!str! && set num=0 & set str= ) pause |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |