[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Little question grep



	Hi.

On Sun, 08 Jan 2017 10:11:26 +0100
Hans <hans.ullrich@loop.de> wrote:

> Hi all, 
> 
> I have a little problem with using grep.
> 
> The problem: 
> 
> I have a wordlist with 3,5 Mio words in ASCII. No I want filter out all words with 5,6, 
> 7, 8, 9 and 10 signs in seperate lists. The wordlist contains all sort of signs, like 
> alphanumeric, control signs like "^", "]" and others.
> So it must be same, whatever sign grep reads. I found this:
> 
> grep -o -w -E '^[[:alnum:]]{5}' file1
> 
> 
> But it looks like it is only grepping text. I read the manual of grep, and I see, there 
> are more options to chose. But I did not completely understand, if I have to chose 
> every option in addition or if is there an option,which covers every kind of sign.

As it should be. regex(7) specifies that character classes are defined
in wctype(3), which states that '[[:alnum:]]' merely implements isalnum
(3), which, in turn is defined as (isalpha(c) || isdigit(c)).

So, what you really need is for five characters only (note final '$'):

egrep '^.{5}$' file1

or, if you need whole words (i.e. need to exclude spaces):

egrep '^[^ ]$' file1

Reco


Reply to: