给定格式为 的主机名aaa0.bbb.ccc
,我想提取 之前的第一个子字符串.
,即aaa0
在本例中。我使用以下 awk 脚本来执行此操作,
echo aaa0.bbb.ccc | awk '{if (match($0, /\./)) {print substr($0, 0, RSTART - 1)}}'
在一台机器上运行的脚本A
产生aaa0
,在机器上运行B
只产生aaa
,最终没有0
。两台机器都运行Ubuntu/Linaro
,但A
运行较新版本的 awk(gawk 使用 3.1.8 版,而B
使用旧版 awk(mawk 使用 1.2 版)
我一般都在问,如何编写一个兼容的 awk 脚本来执行相同的功能......