shell查找匹配行,输出该行并输出下面的一行

awk:

awk '$0~/keyword/{print $0; getline; print $0;}'  file

例:

awk '$0~/hostname.rm2/{print $0;getline;print $0;}' yarn-site.xml
<name>yarn.resourcemanager.hostname.rm2</name>
	<value>host*******</value>
print $0:打印该行
getline;print $0:下一行;打印该行

sed:

grep -E -v ^$ yarn-site.xml |sed -n '/yarn.resourcemanager.hostname.rm2/ {n;p}'
<value>host10372161</value>

grep:

grep -A 1 ‘keyword’ file ### has bug

例:

grep -A 1 'yarn.resourcemanager.hostname.rm2' yarn-site.xml
<name>yarn.resourcemanager.hostname.rm2</name>
		<value>host******</value>

版权声明:本文为zhaozuoyou原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。