抓取 --version of qrencode 输出的特定部分
grab specific part of the output of the --version of qrencode
我试图只获取 qrencode
的版本号,但它不起作用。知道为什么吗?
$ qrencode --version | head -1 | awk '{print }'
qrencode version 3.4.4
Copyright (C) 2006-2012 Kentaro Fukuchi
我很困惑,因为这种技术过去适用于大多数软件包:
$ gzip --version | head -1 | awk '{print }'
1.6
编辑:感谢您的帮助。这是因为对于 qrencode
,--version
的输出打印到 stderr 而不是 stdout。根据如此回答评论,这在某种程度上是常见的。对我来说有点奇怪,但很公平。
您可以将 stderr 重定向到 stdout:
qrencode --version 2>&1 | head -1 | awk '{print }'
^^^^
输出:3.4.4
如果您想摆脱 head -1
并获得与 awk
相同的结果,请使用
qrencode --version 2>&1 | awk 'NR==1{print }'
有关详细信息,请参阅 cut or awk command to print first field of first row。
能否请您尝试以下。
qrencode --version 2>&1 | awk 'FNR==1{print ;exit}'
我试图只获取 qrencode
的版本号,但它不起作用。知道为什么吗?
$ qrencode --version | head -1 | awk '{print }'
qrencode version 3.4.4
Copyright (C) 2006-2012 Kentaro Fukuchi
我很困惑,因为这种技术过去适用于大多数软件包:
$ gzip --version | head -1 | awk '{print }'
1.6
编辑:感谢您的帮助。这是因为对于 qrencode
,--version
的输出打印到 stderr 而不是 stdout。根据如此回答评论,这在某种程度上是常见的。对我来说有点奇怪,但很公平。
您可以将 stderr 重定向到 stdout:
qrencode --version 2>&1 | head -1 | awk '{print }'
^^^^
输出:3.4.4
如果您想摆脱 head -1
并获得与 awk
相同的结果,请使用
qrencode --version 2>&1 | awk 'NR==1{print }'
有关详细信息,请参阅 cut or awk command to print first field of first row。
能否请您尝试以下。
qrencode --version 2>&1 | awk 'FNR==1{print ;exit}'