我想让我的 (g)awk 脚本更具可移植性,尤其是对于 mawk,因为它是 Debian 的库存 awk。
我一直避免length(array)
使用诸如此类的东西,并将array[outer, inner]
其用于多维数组,而不是array[inner][outer]
(gawk 的真正多数组,而不是 SUBSEP hack)。
and()
但是现在我陷入了位运算符(例如and )的困境lshift()
,gawk 提供了这些运算符,而 mawk 没有。我该如何为 mawk 重新实现这些运算符,最好是不使用 shell?
维基百科(https://en.wikibooks.org/wiki/AWK#Bit_manipulation)只是说:
传统 awk 没有位运算符来提供位操作。但是,gawk 内置了位操作函数,包括 and()、or()、xor()、compl()、lshift() 和 rshift()。