Re: Filtrar comodins/regex de les línies

Narcis Garcia <[email protected]>
Newsgroups gmane.linux.debian.user.catalan
Message-ID <[email protected]>
Aquesta proposta d'en Joan funciona:

Coneguts="34930000000
3.930000000
.4930000000
44930000000
4.930000000"

echo "$Coneguts" > coneguts.txt

CercantInici="34"

PatroCerca="^$(echo "$CercantInici" | sed -ne 's/\([0-9]\)/[\.\1]/gp')"

echo "$PatroCerca"

grep -E "$PatroCerca" coneguts.txt

GRÀCIES!


El 17/1/24 a les 17:53, Joan Montané ha escrit:
> 
> 
> Missatge de Narcis Garcia <[email protected] 
> <mailto:[email protected]>> del dia dc., 17 de gen. 2024 a les 8:39:
> 
>     Bones,
> 
> 
>     Algú sap com fer-ho?
> 
> 
> Si he entès bé el problema, la cosa seria així:
> 
> cat coneguts.txt | grep -E "^[\.3][\.4]"
> 
> El que faig és (manualment) canviar cada caràcter del prefix (per 
> exemple, 3) que vols buscar per la parella formada pel mateix caràcter i 
> un punt normal (en l'exemple [\.3]). La resta és senzill, cercar en el 
> fitxer amb dades per l'expressió regular de línies que comencin per 
> l'expressió regular.
> 
> Una millora seria fer la conversió "34" a "[\.3][\.4]" de forma automàtica.
> 
> Un primer intent pot ser amb 'sed', per exemple:
> 
> echo 34 | sed -ne 's/\([0-9]\)/[\.\1]/gp
> 
> retorna:
> [.3][.4]
> 
> que podem usar en l'ordre inicial proposada.
> 
> Ajuntant les dues coses...
> 
> PREFIX=`echo 34 | sed -ne 's/\([0-9]\)/[\.\1]/gp'`
> cat coneguts.txt | grep -E "^$PREFIX"
> 
> sembla que hauria de rutllar.
> 
> En una única línia...
> PREFIX=`echo 44 | sed -ne 's/\([0-9]\)/[\.\1]/gp'` && cat coneguts.txt | 
> grep -E "^$PREFIX"
> 
> Sí, uso una variable d'entorn per a guardar el prefix en la forma 
> [\.3][\.4]. Si algú sap com enviar aquesta cadena al grep d'una forma 
> més elegant, que ho digui, sisplau.
> 
> És això el que volies?
> 
> Salut!
> Joan Montané
> 
> 

-- 

Narcis Garcia

__________
I'm using this dedicated address because personal addresses aren't 
masked enough at this mail public archive. Public archive administrator 
should remove and omit any @, dot and mailto combinations against 
automated addresses collectors.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.