中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-29 07:07
47,816 主题排行 / 349,916 发帖 / 今日 2 篇 / 48,265 会员排行
DOS批处理 & 脚本技术(批处理室) » 从文本中提取内容,删除空行...
可打印版本  4,560 / 10
第1楼 Mekinery 发表于 2007-01-06 05:34
初级用户 发帖 32 积分 83
从文本中提取内容,删除空行...
1.有个en.txt文件,内容如下:
I like the subtle fresh green budding from the branches of the tree -- the herald of spring, ushering in the dawn

I like the subtle flow of cloud that makes the sky seem even more vast, azure and immense...
I like the subtle wind. In spring, it steals a kiss on my cheek; in autumn, it caresses my face; in summer, it brings in cool sweet smell; in winter, it carries a crisp chilliness. The subtle bitter is what it is meant to be.


I like the subtle brings in do anyting...
1).怎么把这个文本中的所有空行去掉并保存为en1.txt.
2).怎么把"that makes the sky "输出并保存为en2.txt(从en.txt中提取)

2.我在d盘下建立了个文件夹为:a. (D:\a..\ 畸形文件夹),怎么把d盘里面的1.txt复制到文件夹a.中?又怎么将1.txt复制到e盘下(从a.中)?

3.在d盘文件夹为:a. (D:\a..\ 畸形文件夹)中有个f.bat,为什么不能在里面运行?,怎么才能使其运行?

新手遇到这些难题希望有人解答,只要能解决,不管几个十分感谢!

[ Last edited by Mekinery on 2007-1-6 at 10:43 PM ]
第2楼 namejm 发表于 2007-01-06 06:44
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  1、1)
  在不考虑特殊字符的情况下可以使用如下代码:

  1、2)

  你在同一个帖子里提出了超过1个的不甚相关的问题,既不便于解答,又容易被忽略掉,不推荐这样做,请另开新帖发其他问题,最好是一帖一问。
第3楼 lxmxn 发表于 2007-01-06 07:09
版主 发帖 4,938 积分 11,386
第4楼 vkill 发表于 2007-01-06 07:41
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
1.1
sed "s/^$//" en.txt|more>en1.txt

1.2
sed "/that makes the sky/!d;s/.*\(that makes the sky\).*/\1/" en.txt|more>en2.txt

[ Last edited by vkill on 2007-1-6 at 07:48 AM ]
第5楼 Mekinery 发表于 2007-01-06 11:09
初级用户 发帖 32 积分 83
首先非常感谢 版主 namejm 、 lxmxn 以及 vkill,不仅使得困绕我多时的问题得到了部分解决,而且使我长进了知识....

版主解决了:
1).怎么把这个文本中的所有空行去掉并保存为en1.txt

lxmxn解决了:
2.我在d盘下建立了个文件夹为:a. (D:\a..\ 畸形文件夹),怎么把d盘里面的1.txt复制到文件夹a.中?
3.在d盘文件夹为:a. (D:\a..\ 畸形文件夹)中有个f.bat,为什么不能在里面运行?,怎么才能使其运行?

但是还有:
2).怎么把"that makes the sky "输出并保存为en2.txt(注意是从en.txt文本中提取)
又怎么将1.txt复制到e盘下(从a.中)?

希望各位解决剩下的问题,谢谢!

嘿嘿,多谢版主提醒以后俺按规章制度办事。

[ Last edited by Mekinery on 2007-1-5 at 10:10 PM ]
第6楼 namejm 发表于 2007-01-06 11:18
荣誉版主 发帖 1,737 积分 5,226 来自 成都
  既然你知道你要提取的内容是 that makes the sky ,那么,为什么非得从en.txt里提取不可呢?直接输出不更快捷一点吗?你要提取的可能是某个位置中的指定字符串而非你所说的那几个单词吧?
第7楼 jmz573515 发表于 2007-01-06 11:30
银牌会员 发帖 464 积分 1,212
我也觉得很奇怪,哈哈
第8楼 jmz573515 发表于 2007-01-06 11:39
银牌会员 发帖 464 积分 1,212
copy d:\a..\\1.txt e:\
第9楼 Mekinery 发表于 2007-01-06 11:49
初级用户 发帖 32 积分 83
恩,是的版主,我是想提取文本某个位置中的指定字符串,就那这个文本做个假设,不知道能不能解决?

非常感谢jmz573515
解决了:
又怎么将1.txt复制到e盘下(从a.中)? [注意是从d盘文件夹a.中复制到e盘下,而不是从d盘复制到e盘]

期待最后一个问题了...
高手如云,相信不久可以解决了....哈哈
第10楼 jmz573515 发表于 2007-01-06 11:56
银牌会员 发帖 464 积分 1,212
你要提取的文字一定要有一定的规律(特征),才能提取要不很难做到,因为根本就不知道根据什么来判断啊?能说一下是根据什么来提取吗?
第11楼 vkill 发表于 2007-01-07 02:28
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
呵呵,估计楼主没有 sed.exe 呵呵
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023