当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 28 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : 如何判断文本文件里是否含有特定字符串
帖子发表于 : 2008-03-14 18:54 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
又要求助各位了, 有一个文本文件a.txt, 有一些XML标签和其它文本的混合:

代码:
title: test
<T1>
123
</T1>
Tag for T1 is 123
<T2>
321
</T2>


我要对这个文本进行处理, 不断的删除XML标签和它中间的内容, 一直到全部删除完为止. XML标签有一定的规律, <T数字>, 用正则表达式查找就行了.

请问要用什么命令来实现这个判断,grep, sed? 用最简单的方法来实现就可以了,不用获取标签之间的内容,只要判断有没有标签就行了.
谢谢.

Thanks for your help, actually the problem is not so difficult as you guys thought. My poor expression misleaded. Below is the solution I used(There is no Chinese input available in Lab, so I just post in English.):
----------------------------------solution begin----------------------------------------------------------------
代码:
       #calcuate how many tags in the file
   tagsNumber=$(egrep -c '/*<T' source.txt)
   
       #do if there is tag in the file
   while [ $tagsNumer -gt 0 ]; do
   ...... ....
       # I will remove one tag(in pair) each time, so re-calculate it
   tagsNumber=$(egrep -c '/*<T' source.txt)
   
   done #end of while loop


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


最后由 caike 编辑于 2008-03-16 19:21,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-03-14 18:55 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
引用:
不断的删除XML标签和它中间的容易

?


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-03-14 18:58 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
应该用个样本举例,原来啥样,想弄啥样


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:01 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET 写道:
引用:
不断的删除XML标签和它中间的容易

?


Sorry,打错字了 :oops:

内容


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:03 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
iblicf 写道:
应该用个样本举例,原来啥样,想弄啥样

完了, 英语没学好, 中文也说不好了.

其实我要实现的功能很简单, 就是判断a.txt里是否存在 "<T*>"这种字符串.


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:06 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
linux 下哪个正则工具有平衡组功能?..


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:09 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
什么叫平衡组功能? 判断闭合标签吧? 唉


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:10 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
iblicf 写道:
什么叫平衡组功能? 判断闭合标签吧? 唉


就是递归匹配


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:13 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET 写道:
linux 下哪个正则工具有平衡组功能?..


不用平衡, 只要判断开始标签就行了, 我删的时候是用sed来删的, 删除从<T*>开始,到</T*>结束中间的所有行, 所以只要存在<T*>, 就会存在结束标签</T*>.

我把问题说的太复杂了, 简化一下,
如何判断一个文件里是否存在"foo"这三个字符?


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:18 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
sed -n '/\<T1\>/,/\<\/T1\>/d' file


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:22 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
嵌套呢?


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:24 
头像

注册: 2007-01-15 17:15
帖子: 3766
送出感谢: 0 次
接收感谢: 0 次
傻阿,,T1 T2 :)


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:28 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
iblicf 写道:
sed -n '/\<T1\>/,/\<\/T1\>/d' file


请问这个if 要怎么写呢?


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:30 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
问一下楼主会不会出现<T1><T2>foo</T2></T1> 这样的...


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-03-14 19:35 

注册: 2005-12-09 16:22
帖子: 30
送出感谢: 0 次
接收感谢: 0 次
BigSnake.NET 写道:
问一下楼主会不会出现<T1><T2>foo</T2></T1> 这样的...


不会的, 不会出现嵌套的情况.


_________________
java程序员 linux菜鸟 C++初学者
http://ke-cai.net


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 28 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 3 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译