gpt4 book ai didi

AWK 匹配至少有 2 个数字和至少 2 个字母的任意顺序的行

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

我的工作是使用 AWK 以任意顺序匹配具有至少 2 个数字和至少 2 个字母的行(一些字母由数字分隔)。

这是我的示例.txt:

1
12
123
1234
12345
123456

1a
b23
3c4d
e5f67
gj34qz

我的 AWK 版本是 GNU Awk 4.0.1 ( Ubuntu Linux )。

我一直在尝试这样做:

awk '/[0-9]{2,}/&&/[a-z]{2,}/' sample.txt

awk '/[[:digit:]]{2,}/&&/[[:lower:]]{2,}/' sample.txt

但它的工作方式不正确(它只捕获连续的字符串)例如它会跳过:

3c4d

e5f67

最佳答案

允许 .* 之间的字符:

awk '/[0-9].*[0-9]/ && /[a-zA-Z].*[a-zA-Z]/'

恰好两个字母:

awk '/[0-9].*[0-9]/ && /^[^a-zA-Z]*[a-zA-Z][^a-zA-Z]*[a-zA-Z][^a-zA-Z]*$/'

关于AWK 匹配至少有 2 个数字和至少 2 个字母的任意顺序的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22209302/

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