[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