我在标题中提到了一个问题。
我的文件中有一些行:
<Hi>
<Test>
<Test2>
</Test2>
</Test>
</Hi>
所以我需要获得“Hi”标签的全部内容。但我没有gnu grep并且无法安装它我不是机器上的root。我只能用:
Usage: grep -hblcnsviw pattern file . . .
所以不能使用-A和-B命令或其他gnu grep命令,能不能给我一个出路..
提前致谢..
答案 0 :(得分:1)
您的系统是否有awk
,如果是,请尝试:
awk '/<Hi>/,/<\/Hi>/' file
<Hi>
<Test>
<Test2>
</Test2>
</Test>
</Hi>
或者您可以使用:
awk '/<Hi>/{f=1} /<\/Hi>/ {f=0;print} f' file
答案 1 :(得分:1)
古老的sed
怎么样?
sed -n '/<Hi>/,/<\/Hi>/p' file
答案 2 :(得分:1)
使用sed:
sed -n '/<Hi>/,/<\/Hi>/p' file
Perl one-liner ..
perl -ne 'print if /<Hi>/ .. /<\/Hi>/' file