我的工作是使用AWK对match lines with at least 2 digits and at least 2 letters in any order
(某些字母用数字分隔)。AWK与至少2位数字匹配的行和至少2个字母的任意顺序
这是我为sample.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
+1我现在觉得自己像个白痴。 ':)' –
+1我的回答(几乎)确切地说:'awk'/ [[:数字:]]。* [[:数字:]]/&& [[:alpha::]]。* [[: :]] /'' –
这是工作感谢,我是如此亲密:)。也许你知道一个不同的场景,如果我们想要捕捉至少两位数字和只有两个字母(再次命令无关)的小改变? – mike