如果我想知道 awk 的版本,我会得到以下信息:
$ awk --version
awk: not an option: --version
Run Code Online (Sandbox Code Playgroud)
签入man awk我看到我的 awk 是
mawk - 模式扫描和文本处理语言
fed*_*qui 17
在这种情况下,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
Run Code Online (Sandbox Code Playgroud)
我尝试更笼统一些。
awk -Wversion 2>/dev/null || awk --version
无论 awk 调用可用于 Debian/Ubuntu Linux 的 mawk、gawk 还是original-awk,都可以工作。请注意,-W和version必须连接起来,这样original-awk 就不会认为version是一个程序。在 Ubuntu Linux 中,您可以使用sudo update-alternatives --config awkawk 查看并选择由命令 awk 调用的实现。