我从服务器接收以下格式的数据:
gin</type><sessionId>1601</sessionId><directory><default>DepthOfBook</default><study type="DepthOfBook"/
如何从该字符串中提取值 1601?我一直在尝试以下操作,但迷失了正确的 SED 语法:
sed -n "/sessionId/,/\/sessionId/p"
sed -e "s/<sessionId/\n/g"| sed -n "/sessionId/,/\/sessionId/p"
sed -e "s/</\n/g"| sed -n "/sessionId/,/sessionId/p"
如何提取该值(当字符串是一个长多行字符串时,通常是两个 XML 标记之间的值)?
谢谢。
最佳答案
这可能对你有用(GNU sed):
sed '/<sessionId>/!d;s//\n/;s/[^\n]*\n//;:a;$!{/<\/sessionId>/!N;//!ba};y/\n/ /;s/<\/sessionId>/\n/;P;D' file
关于c# - 使用 SED 提取 XML 标签之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12468449/