加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

algorithm – 在awk中计算CRC

发布时间:2020-12-14 01:25:08 所属栏目:Linux 来源:网络整理
导读:有谁在awk / gawk中实现了POSIX 1003.2兼容CRC算法(由cksum输出)?我需要对内存字符串(而不是整个文件)进行校验和,并且调用cksum是一种缓慢且昂贵的问题. 我的总体需求是生成一个10位数或更少的数字校验和.其他哈希/ CRC功能也可以工作,任何人有什么方便吗?
有谁在awk / gawk中实现了POSIX 1003.2兼容CRC算法(由cksum输出)?我需要对内存字符串(而不是整个文件)进行校验和,并且调用cksum是一种缓慢且昂贵的问题.

我的总体需求是生成一个10位数或更少的数字校验和.其他哈希/ CRC功能也可以工作,任何人有什么方便吗?

谷歌搜索和awk.info扫描没有任何有趣的内容.

编辑:
我最终使用外部cksum命令,但将结果缓存到awk关联数组中.性能足够好,我不需要重新发明轮子.

解决方法

由于cksum使用大型表,因此在AWK中重新实现它可能是不切实际的.您可以在不使用表的情况下即时计算它,但这可能比调用cksum慢.

参考文献:

> POSIX
> GNU cksum source

如果有人如此倾向,将它从C翻译成AWK应该是相当微不足道的.

顺便说一句,gawk有coprocesses:

gawk 'BEGIN {
    cmd="cksum"
    print "hello" |& cmd
    close(cmd,"to")
    while (cmd |& getline a > 0)
        print a
    close(cmd)
    }'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读