如果我想知道 awk 的版本,我会得到以下内容:
$ awk --version
awk: not an option: --version
检查后man awk
我发现我的 awk 是
mawk - 模式扫描和文本处理语言
答案1
在这种情况下,man awk
向我们展示:
-W 版本
mawk 将其版本和版权写入 stdout,将编译限制写入 stderr,然后退出 0。
就我而言,
$ awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan
compiled limits:
max NF 32767
sprintf buffer 2040
答案2
我尝试使其更加概括。
awk -Wversion 2>/dev/null || awk --version
无论 awk 调用的是 mawk、gawk 还是适用于 Debian/Ubuntu Linux 的 original-awk,都可以正常工作。请注意,-W
和version
必须连接在一起,这样 original-awk 就不会认为version
它是一个程序。在 Ubuntu Linux 中,您可以使用sudo update-alternatives --config awk
来查看和选择由命令 awk 调用的实现。