繁体   English   中英

如何使用grep命令在一行中打印变量的值?

[英]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

如果只需要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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM