如何在macOS上获得awk版本?

Zac*_*nta 1 macos awk

我知道如何awk在Linux上获得该版本:awk -W version

但是,这在macOS上不起作用.

我环顾四周,找不到任何东西.

我也查看了awk手册页,找不到任何东西:

$ man awk | grep version
          conversion format used when converting numbers (default %.6g)
   There are no explicit conversions  between  numbers  and  strings.   To
Run Code Online (Sandbox Code Playgroud)

Tom*_*Tom 5

awk --version
awk version 20070501
Run Code Online (Sandbox Code Playgroud)


All*_*lan 5

EASY方式时-v-V-version--version可用(该选项在多数情况下是可用的):

awk --version
awk version 20070501
Run Code Online (Sandbox Code Playgroud)

或者

awk -version
awk version 20070501
Run Code Online (Sandbox Code Playgroud)

现在当它不可用时,我们会走艰难的路:

whereis awk
/usr/bin/awk
Run Code Online (Sandbox Code Playgroud)

然后

what /usr/bin/awk 
/usr/bin/awk
    PROGRAM:awk  PROJECT:awk-24
Run Code Online (Sandbox Code Playgroud)

strings /usr/bin/awk | grep -Ei "version|awk" 
/BuildRoot/Library/Caches/com.apple.xbs/Sources/awk/awk-24/src/b.c
version 20070501
bin/awk
-version
--version
awk %s
awkdelete
weird printf conversion %s
can't happen: bad conversion %c in format()
out of memory in awksprintf
out of memory in awkprintf
@(#)PROGRAM:awk  PROJECT:awk-24
Run Code Online (Sandbox Code Playgroud)

通过读取二进制文件中的字符串并使用grep分离出您真正要查找的信息,您可以找到您要查找的大部分信息。(旁注,您还发现了-version--version是可以使用的参数)

您也可以使用grep -Eai "\bversion\b|awk|unix" /usr/bin/awk达到相同的结果(可读性稍差)