有如下的文本:
<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>
想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
-
- 帖子: 4
- 注册时间: 2011-05-18 10:09
- qgymib
- 帖子: 539
- 注册时间: 2010-04-02 16:44
- 系统: openSUSE 13.2 x64
-
- 帖子: 4
- 注册时间: 2011-05-18 10:09
Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
感谢你的回复。
没有PDF文件操作的意思,只不过是个文件的例子。关键是如何删除adobe4.pdf文件行和之前的<list和和之后的/list>行
没有PDF文件操作的意思,只不过是个文件的例子。关键是如何删除adobe4.pdf文件行和之前的<list和和之后的/list>行
-
- 帖子: 919
- 注册时间: 2009-07-01 22:04
Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
看来只是用need文本作为匹配模式,然后输出上下文:
grep -C 1 -F -f need.txt 如下的文本.txt
grep -C 1 -F -f need.txt 如下的文本.txt
bash不如perl精妙,学不到lisp的皮毛,远不够c++强悍,不过可以用。
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 4
- 注册时间: 2011-05-18 10:09
Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
楼上可否就awk分段举个例子,查了许多资料,也许没找对,反正没找到什么.
多谢,如果能就上面所述直接给出语句,就更加感激了.再次感谢你的帮助.
多谢,如果能就上面所述直接给出语句,就更加感激了.再次感谢你的帮助.

-
- 帖子: 130
- 注册时间: 2007-11-28 8:52
- 联系:
Re: 想实现自动文件编辑,删除其中的不需要段落,请教高手如何实现,sed如何输出查找到的行号?
只输出?
<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 忘记了
<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 忘记了
