在awk中的双引号之间捕获单词

时间:2019-08-10 10:43:12

标签: regex linux awk

我正在尝试打印Linux发行版的名称。我的发行版cat /etc/os-release的输出是:

NAME="Arch Linux"
PRETTY_NAME="Arch Linux"
ID=arch
BUILD_ID=rolling
ANSI_COLOR="0;36"
HOME_URL="https://www.archlinux.org/"
DOCUMENTATION_URL="https://wiki.archlinux.org/"
SUPPORT_URL="https://bbs.archlinux.org/"
BUG_REPORT_URL="https://bugs.archlinux.org/"
LOGO=archlinux

现在,我想从第二行中抓取Arch Linux。我使用了以下命令:

cat /etc/os-release | awk '/PRETTY_NAME=\".+\"/ {print $1}'

但这会打印PRETTY_NAME="Arch

如何从此行中抓住单词(包括空格)?

1 个答案:

答案 0 :(得分:1)

将字段定界符设置为双引号-F'"',以从输出中删除引号。

 awk -F'"' '/^PRETTY_NAME=/{print $2}' /etc/os-release