我的命令的输出类似于:
1540 "A B" 6 "C" 119 "D"
第一列始终是一个数字,后跟一个空格,然后是一个双引号字符串。
我的目的是仅获取第二列,例如:
"A B" "C" "D"
我打算用它<some_command> | awk '{print $2}'来完成这个。但问题是,第二列中的某些值包含空格,这恰好是分隔awk字段的默认分隔符。因此,输出混乱:
<some_command> | awk '{print $2}'
awk
"A "C" "D"
如何干净地获取第二列的值(带有成对的引号)?
或使用 sed 和正则表达式。
<some_command> | sed 's/^.* \(".*"$\)/\1/'