Egrep primeiros caracteres em cada linha?

0

Digamos que eu tenha um arquivo de texto

txt.txt

hello supdijfdsfsddsgs
hghgh hsdjghjfhgjfhgjfhg
hghgh yyyyyereuryueyruey

Eu quero imprimir as linhas de modo que apenas os primeiros 5 caracteres sejam a seqüência hghgh ?

Então, deve imprimir

    hghgh hsdjghjfhgjfhgjfhg
    hghgh yyyyyereuryueyruey

Como deve ser o egrep?

egrep -5 "hghgh" txt.txt

?

    
por 2chainz 12.05.2017 / 23:30

2 respostas

2

Isso faria isso:

grep '^hghgh' txt.txt

egrep é apenas grep -E (assim como fgrep é grep -F ), mas o -E não é necessário aqui, pois não precisamos usar expressões regulares estendidas.

A expressão regular (básica) ^hghgh corresponde à string literal hghgh no início da linha. É o ^ que ancora o padrão no início da linha.

    
por 12.05.2017 / 23:34
0

Existem muitas maneiras de esfolar esse gato.

Com grep ( grep -E e egrep também funcionará, mas isso é barebones grep no trabalho aqui):

grep '^hghgh' /path/to/input

com sed :

sed -n '/^hghgh/p' /path/to/input

com awk :

awk '/^hghgh/ { print $0 } /path/to/input
    
por 12.05.2017 / 23:42

Tags