gpt4 book ai didi

regex - grep 仅适用于包含 "standard"US 字符的行

转载 作者:行者123 更新时间:2023-12-02 08:46:11 24 4
gpt4 key购买 nike

我正在尝试找出如何 grep 查找仅由 A-Z 和 a-z 组成的行,即“美国”字母表。我希望这能起作用,但事实并非如此:

$ echo -e "Jutland\nJastrząb" | grep -x '[A-Za-z]*'
Jutland
Jastrząb

我希望它只打印“Jutland”,因为ą不是美国字母表中的字母。我怎样才能实现这个目标?

最佳答案

需要在grep前添加LC_ALL=C:

printf '%b\n' "Jutland\nJastrząb" | LC_ALL=C grep -x '[A-Za-z]*'

Jutland

您还可以使用 -i 开关来忽略大小写并减少正则表达式:

printf '%b\n' "Jutland\nJastrząb" | LC_ALL=C grep -ix '[a-z]*'

LC_ALL=C 避免区域设置相关的影响,否则您当前的 LOCALE 会将 ą 视为 [a-zA-Z]

关于regex - grep 仅适用于包含 "standard"US 字符的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57855476/

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