我正在使用:
bash $ head -n 2 *.xml | grep (..stuff..)
将所有xml文件的前2行流式传输到grep命令。但是,我意识到这对于这些文件的结构并不可靠。
相反,我需要的是流式传输每个xml文件的开始,直到遇到特定的子字符串(所有这些文件都具有)为止。
head不提供该级别的粒度。子字符串只是标签的开头(例如,“ <标签开始”之类的东西)。如有任何想法,我将不胜感激。谢谢!
如果您知道匹配字符串之前的最大行数,则可以执行以下操作:
# cat testfile
123
9
1
1
2
3
4000
TAG
456
# grep -m 1 -B 10 TAG testfile | grep -v TAG
123
9
1
1
2
3
4000
#
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。