中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-06 14:22
48,039 主题排行 / 350,124 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [请教]把单行的文字用某种分隔符拆成多行
可打印版本  1,343 / 12
第1楼 Billunique 发表于 2007-11-16 18:32
中级用户 发帖 112 积分 259
[请教]把单行的文字用某种分隔符拆成多行
在论坛里,有大家的帮助,真是一件很幸福的事。我又来请教了。

一个1.txt文件,大致像这个样子:


这些名字在同一行,中间以中文顿号隔开。现在的需求是,如何以顿号为分隔符,将他们分行,一个名字占一行。即类似于2.txt:

处理文稿时,很多时候会遇到这样的场景,但一直不知如何解决,特向各位求教,谢谢!

另外,如果已经有一个2.txt,想转成1.txt的样子,又该如何处理?

[ Last edited by Billunique on 2007-11-21 at 10:05 AM ]
第2楼 knoppix7 发表于 2007-11-16 19:12
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
鄙人不才:

先把文件里所有的、替换成, 然后保存

然后用
@echo off
for /f "eol=; tokens=1* delims=龓" %%i IN (1.txt) DO (
for %%a IN (%%i) DO echo %%a>>2.txt
)
pause

完成转换...
第3楼 terse 发表于 2007-11-16 19:41
银牌会员 发帖 946 积分 2,404



[ Last edited by terse on 2007-11-16 at 07:42 PM ]
第4楼 lxmxn 发表于 2007-11-16 19:45
版主 发帖 4,938 积分 11,386
1 、1.txt ==》2.txt


2、2.txt==》1.txt
第5楼 zh159 发表于 2007-11-17 00:12
金牌会员 发帖 1,467 积分 3,687
我也来一个
1.txt ==》2.txt


[ Last edited by zh159 on 2007-11-17 at 12:14 AM ]
第6楼 lxmxn 发表于 2007-11-17 00:21
版主 发帖 4,938 积分 11,386
TO zh159:

方法比较巧妙啊,不过好像只能处理文本中的第一行,改进一下?
第7楼 zh159 发表于 2007-11-17 00:32
金牌会员 发帖 1,467 积分 3,687
多行的:
第8楼 Billunique 发表于 2007-11-20 21:36
中级用户 发帖 112 积分 259
哈哈,多谢各位兄台!这两天忙没有上来看,上来一看真兴奋,问题已经被解决得这么好!

3楼的帅气,4楼的深厚,5楼的巧妙,我可真是想不出来啊!

当时一个朋友给我说了个PHP的解法,贴出来一下,不会挨骂吧,呵呵

第9楼 zh159 发表于 2007-11-21 00:25
金牌会员 发帖 1,467 积分 3,687
VBS的
第10楼 bjsh 发表于 2007-11-21 13:36
银牌会员 发帖 621 积分 2,000
sed
1.
sed 's/、/\n/g' 1.txt
2.
sed ':a;$q;H;N;s/\n/、/;ba' 2.txt

awk
1.
awk -F'、' '{for (i=1;i<=NF;i++) {print $i}}' 1.txt
2.
awk '{printf $0"、"}' 2.txt
第11楼 jmz573515 发表于 2007-11-22 13:50
银牌会员 发帖 464 积分 1,212
第12楼 zysheng110 发表于 2007-11-23 00:32
初级用户 发帖 16 积分 31
我还不会!!真是个个帅的掉渣!!什么时候我也来一个!
第13楼 zh159 发表于 2007-11-23 01:19
金牌会员 发帖 1,467 积分 3,687
Originally posted by jmz573515 at 2007-11-22 13:50:

这个输出有问题,只能输出最后一行最后一个
改一下:

其实和VBS的把“、”替换成回车换行符差不多
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023