当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 7 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 10:49 

注册: 2011-05-18 10:09
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
有如下的文本:
<list item file="1"
file is "adobe.pdf"
/list>
<list item file="2"
file is "adobe2.pdf"
/list>

<list item file="3"
file is "adobe3.pdf"
/list>
<list item file="4"
file is "adobe4.pdf"
/list>
文本可能很长,如果我需要的文件存在另一个文件need中,比如含有 adobe3.pdf,现在需要一个脚本删除其它的不需要的list item段落,使输出如下,请教脚本应该如何编写?多谢各位。

<list item file="3"
file is "adobe3.pdf"
/list>


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 11:02 
头像

注册: 2010-04-02 16:44
帖子: 528
系统: openSUSE 13.2 x64
送出感谢: 2
接收感谢: 11
反正正则表达式能够实现。不过要是对pdf进行操作……问ee :em02


_________________
正在建设中的个人博客


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 11:26 

注册: 2011-05-18 10:09
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
感谢你的回复。
没有PDF文件操作的意思,只不过是个文件的例子。关键是如何删除adobe4.pdf文件行和之前的<list和和之后的/list>行


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 21:57 

注册: 2009-07-01 22:04
帖子: 919
送出感谢: 0 次
接收感谢: 13
看来只是用need文本作为匹配模式,然后输出上下文:
grep -C 1 -F -f need.txt 如下的文本.txt


_________________
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 22:33 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 274
awk用"/list>\n"分段,判断带adobe3的,输出就是。


_________________
● 鸣学


页首
 用户资料  
 
6 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-18 22:48 

注册: 2011-05-18 10:09
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
楼上可否就awk分段举个例子,查了许多资料,也许没找对,反正没找到什么.

多谢,如果能就上面所述直接给出语句,就更加感激了.再次感谢你的帮助. :em01


页首
 用户资料  
 
7 楼 
 文章标题 : Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
帖子发表于 : 2011-05-19 21:27 

注册: 2007-11-28 8:52
帖子: 130
送出感谢: 0 次
接收感谢: 1
只输出?
<list item file="3"
file is "adobe3.pdf"
/list>

是否可以匹配 关键字 adobe3.pdf然后 显示其上下两行呢?
#!/bin/bash
line=`cat -n 这个文本|grep adobe3.pdf|awk '{print $1}'`
然后用sed输出
$line-1
$line
$line+1
具体sed 忘记了 :em20


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 7 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

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


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

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

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