使用 awk 提取特殊字符之间的文本
Extract text using awk that is in between to special characters
我有以下文件:
# cat vsrxa-1.xml
<some text>
<source file='/PATH/vsrx.qcow2'/>
<some text>
我试图只打印 ('') 之间的内容
像这样:
<source file='/PATH/vsrx.qcow2'/>
To print only:
/path/vsrx.qcow2
But not to print:
'/PATH/vsrx.qcow2'
我尝试使用 cat <file> | awk -F[=,] '{print }'
但我只得到:
'/PATH/vsrx.qcow2'/>
使用awk
$ awk -F"'" '{print }' file
/PATH/vsrx.qcow2
使用sed
$ sed -n "s/[^']*'\([^']*\).*//p" file
/PATH/vsrx.qcow2
我有以下文件:
# cat vsrxa-1.xml
<some text>
<source file='/PATH/vsrx.qcow2'/>
<some text>
我试图只打印 ('') 之间的内容 像这样:
<source file='/PATH/vsrx.qcow2'/>
To print only:
/path/vsrx.qcow2
But not to print:
'/PATH/vsrx.qcow2'
我尝试使用 cat <file> | awk -F[=,] '{print }'
但我只得到:
'/PATH/vsrx.qcow2'/>
使用awk
$ awk -F"'" '{print }' file
/PATH/vsrx.qcow2
使用sed
$ sed -n "s/[^']*'\([^']*\).*//p" file
/PATH/vsrx.qcow2