[英]How to use grep command to print value of a variable in a line?
例如,请考虑以下行
<WORKFLOWLINK CONDITION ="" FROMTASK ="Start" TOTASK ="cmd_START_RUN"/>
从上一行,我需要使用grep命令或任何命令从FROMTASK ="Start"
打印开始 。
尝试这样做:
$ xmllint --xpath 'string(//WORKFLOWLINK/@FROMTASK)' file
Start
$ xmlstarlet sel -t -v 'string(//WORKFLOWLINK/@FROMTASK)' file
Start
$ saxon-lint --xpath 'string(//WORKFLOWLINK/@FROMTASK)' file
Start
libxml2
xmllint
如果只需要FROMTASK
值或一些固定变量,请尝试sed
:
sed -nre 's/^.*FROMTASK *= *"([^"]*)".*$/\1/p' file
如果要获取任何变量的值,请尝试使用xmllint
作为sputnick回答
使用sudo apt-get install libxml2-utils
(用于debian)或yum install libxml2-utils
进行安装。
由于您的标签不建议使用XML,因此只需使用cut命令
cut -d "\"" -f4
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.