- 论坛徽章:
- 0
|
怎么可以去掉这些乱七八糟的字符?
路过, 代maxx答一下
我跟maxx是同学, 遇到的问题要是在一些html文件里面找出几种对某些关键字的说明性文字来. 这些说明文字是有限的几个特定字符串. 他原来的方法好像是直接在文件中找这些说明文字, 把它们过滤出来. 在过滤的过程中, 出现了在楼上说的这个问题.
后来我们换了一种做法, 就是先在网页上找到那些关键字, 然后在关键字的后面应该是说明文字的地方把它们提出来. 这样就减少了出错的可能, 这次的问题大概算是解决了. maxx说的换了一种思路, 其实是意思上的一个歧义.
不过, 就事论事, 我觉得目前我们做得其实还是比较勉强. 举个例子: 在某html文件中有以下的code:
<TR>
<TH><B><A HREF="/scdocs/issue_lifecycle.html" onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Status:</A></B></TH>
<TD>RESOLVED</TD>
我们是通过找Status这个关键词, 然后在它的下一行里把RESOlVED取出来. 经过论坛的帮助, 我用了以下的code:
- sed -n '/>Status:</{n;p;}' $i | sed s'/<TD>\(.*\)<\/TD>/\1/'
复制代码
但是我觉得我的code其实是很勉强的. 对html文件而言, 把这一段文字分成两行固然是一种良好的编程风格, 但如果把它们写在一行里也是可以的, 并不影响他的效果.甚至在比较极端的情况下, 把他们写成
- <TH><B><A HREF="/scdocs/issue_lifecycle.html" onclick="return launch(this.href, 1)" title="Note: link may open in new window" class="helplink">Status:</A></B></TH>
- <TD>
- RESOLVED
- </TD>
复制代码
也是可以. 这样一来我的shell scripe其实就无能为力了. 想请教一下各位高手有何解决的方法.
看得出来在论坛里还有其他的同学, 不知你们的解决方法是什么?
作业已交, 并不求高分数. 在论坛里得益不少, 纯就兴趣与大家讨论. 请各位高手多多指教.
ps: 不知这算不算跑题, 或者是另开新贴比较好? |
|