gpt4 book ai didi

regex - sed:删除文件前 n 个字符内的十六进制字符

转载 作者:行者123 更新时间:2023-11-29 09:03:10 25 4
gpt4 key购买 nike

我有这样的模式:

201404018^@133^@^@1^@^2^@31@1^@^32
20140401^@8133^@3^@0^@^22@1^@^3
201404^@018133^@10^@3^@^4@12^@^321
20140401813322^@97^@^@5^@^23
上面的

^@ 表示 NUL 字符(0x00),我想在前 14 个字符(日期时间)内删除这些字符,但保留其余部分。就像:

20140401813312^@31@1^@^32
20140401813330^@^22@1^@^3
20140401813310^@3^@^4@12^@^321
20140401813322^@97^@^@5^@^23

我已经尝试过 sed 's/^[0-9]{0,13}\x00//g' - 但实际上什么也做不了。

提前致谢!

最佳答案

Perl 来拯救:

perl -pe 's/\x0// while ($i = index $_, "\x0") >= 0 and $i < 14' input-file

对于每一行,当它们的位置低于 14 时,它会删除零字节。

关于regex - sed:删除文件前 n 个字符内的十六进制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23913075/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com