gpt4 book ai didi

macos - SED - 无法对 UTF-8 编码的字符执行某些命令

转载 作者:行者123 更新时间:2023-12-01 13:37:58 25 4
gpt4 key购买 nike

我有一个看起来像这样的文件:

<text top="123" left="45" width="50" height="17" font="8">Måndag</text>

如主题中所述,此文件采用 utf-8 编码。使用此命令时:

cat file | sed 's_.*top="\([0-9][0-9]*\)" left="\([0-9][0-9]*\)".*>\(.*\)<.*_\1 \2 \3_'

它永远不会完成执行,也不会打印任何内容。

但是执行这样一行:

cat file | sed 's/å/FOO/'

给我一​​个正确的输出:

<text top="123" left="45" width="50" height="17" font="8">MFOOndag</text>

这是 sed 中的错误还是我的正则表达式或我使用它的方式有问题?我想要的是在不涉及太多命令的情况下提取顶部、左侧和内容数据的简洁方法。

最佳答案

可靠地做到这一点的最简单方法就是使用 perl 代替 sed:

bash$ perl -CSAD -pe 's/foo/bar/g'

这将允许在您的参数、您的标准流和您处理的所有文件中使用 Unicode。

关于macos - SED - 无法对 UTF-8 编码的字符执行某些命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5709540/

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