[gilug] Re: Filtrar comodins/regex de les línies

Narcis Garcia narcisgarcia gilug org
2024-01-17 18:47:30 UTC


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 < 
> <mailto:>> 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.

-- 
Narcis Garcia



Més informació sobre la llista de correu gilug