使用 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