gpt4 book ai didi

bash - 删除 Bash 中无效的非 ASCII 字符

转载 作者:行者123 更新时间:2023-12-02 04:29:29 25 4
gpt4 key购买 nike

在 Bash(在 Ubuntu 上)中,是否有一个命令可以删除无效的多字节(非 ASCII)字符?

我尝试过 perl -pe 's/[^[:print:]]//g' 但它也会删除所有有效的非 ASCII 字符。

如果需要,我可以使用 sedawk 或类似的实用程序。

最佳答案

问题是 Perl 没有意识到你的输入是 UTF-8;它假设它正在对字节流进行操作。您可以使用 -CI 标志告诉它将输入解释为 UTF-8。而且,由于您的输出中将包含多字节字符,因此您还需要告诉 Perl 在写入标准输出时使用 UTF-8,这可以通过使用 -CO 来完成 标志。所以:

perl -CIO -pe 's/[^[:print:]]//g'

关于bash - 删除 Bash 中无效的非 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353920/

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