Perl 初学者:如何查找/替换文件中的 ASCII 字符?

2024-04-29

我对 Perl 完全陌生,我认为这将是解决我的简单任务的最佳语言。我需要将二进制文件转换为可读的文件,并且需要查找和替换字符串,例如\x00\x39 into \x09(选项卡)或类似的东西。

从 bash 开始,我从以下内容开始,效果很好:

perl -pi -e 's/abc/123/g' test.txt

然而,当我开始输入 ascii 代码时,我迷失了:

perl -pi -e 's/0x49/*/g' test.txt
perl -pi -e 's/{char(49)}/*/g' test.txt

这个命令在 Perl 脚本中看起来像一行吗?我有大约几百个这样的查找/替换操作和一个 500MB 的文本文件。有什么我需要知道的注意事项吗?

非常感谢您的帮助!

Gary


Use the \x##符号:

perl -pi~ -e 's/\x00/*/g' test.txt

要将每个“特殊”字符替换为括号中的代码,请使用/e option:

perl -pi~ -e 's/([\x0-\x09\x11-\x1f])/"[" . ord($1) . "]"/eg' test.txt
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Perl 初学者:如何查找/替换文件中的 ASCII 字符? 的相关文章

随机推荐