中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 从文本中提取内容,删除空行...
作者:
标题: 从文本中提取内容,删除空行... 上一主题 | 下一主题
Mekinery
初级用户





积分 83
发帖 32
注册 2006-12-26
状态 离线
『楼 主』:  从文本中提取内容,删除空行...

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 ]

2007-1-6 05:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  1、1)
  在不考虑特殊字符的情况下可以使用如下代码:
@echo off
cd.>en1.txt
for /f "delims=" %%i in (en.txt) do >>en1.txt echo %%i
start en1.txt
  1、2)
echo that makes the sky>en2.txt
  你在同一个帖子里提出了超过1个的不甚相关的问题,既不便于解答,又容易被忽略掉,不推荐这样做,请另开新帖发其他问题,最好是一帖一问。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-6 06:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  


::1、命令行执行即可
for /f "delims=" %a in (en.txt) do @>>en1.txt echo=%a

::2、保存为批处理copyf.bat
@echo off
for /f "tokens=4" %%a in ('dir /x/ad d:\^|find "DIR"^|find "a."') do set file=%%a
copy 1.txt d:\%file%\
copy d:\%file%\1.txt e:\

::3、保存为批处理run.bat
@echo off
for /f "tokens=4" %%a in ('dir /x/ad d:\^|find "DIR"^|find "a."') do start "" d:\%%a\f.bat


2007-1-6 07:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 4 楼』:  

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 ]

2007-1-6 07:41
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
Mekinery
初级用户





积分 83
发帖 32
注册 2006-12-26
状态 离线
『第 5 楼』:  

首先非常感谢 版主 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.中)? [注意是从d盘文件夹a.中复制到e盘下,而不是从d盘复制到e盘]

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

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

[ Last edited by Mekinery on 2007-1-5 at 10:10 PM ]

2007-1-6 11:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 6 楼』:  

  既然你知道你要提取的内容是 that makes the sky ,那么,为什么非得从en.txt里提取不可呢?直接输出不更快捷一点吗?你要提取的可能是某个位置中的指定字符串而非你所说的那几个单词吧?



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2007-1-6 11:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 7 楼』:  

我也觉得很奇怪,哈哈

2007-1-6 11:30
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 8 楼』:  

copy d:\a..\\1.txt e:\

2007-1-6 11:39
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
Mekinery
初级用户





积分 83
发帖 32
注册 2006-12-26
状态 离线
『第 9 楼』:  

恩,是的版主,我是想提取文本某个位置中的指定字符串,就那这个文本做个假设,不知道能不能解决?

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

期待最后一个问题了...
高手如云,相信不久可以解决了....哈哈

2007-1-6 11:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
jmz573515
银牌会员




积分 1212
发帖 464
注册 2006-12-13
状态 离线
『第 10 楼』:  

你要提取的文字一定要有一定的规律(特征),才能提取要不很难做到,因为根本就不知道根据什么来判断啊?能说一下是根据什么来提取吗?

2007-1-6 11:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 11 楼』:  

呵呵,估计楼主没有 sed.exe 呵呵

2007-1-7 02:28
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: