[gilug] Re: Búsquedas de palabras en archivos

Narcis Garcia informatica actiu net
2020-07-28 08:49:16 UTC


Algo parecido, que tendrás que adaptar a tu caso:

Deteccion="$(cat $Archivo | grep -e clave)"
if [ "$Deteccion" = "" ] ; then echo "No está en $Archivo" ; fi



Narcis Garcia
El 28/7/20 a les 10:22, Sr. Aitor ha escrit:
> Todos los archivos tienen la clave 2 veces, eso es seguro. Lo que busco
> es que la salida del comando me diga directamente qué archivos no tienen
> el resultado esperado.
> 
> Por ejemplo, imaginemos que busco "clave: 1234 1234"
> 
> Pues hay en algunos que pone otra cosa diferente. Entonces, lo ideal
> sería que ignore los correctos y el resultado solo lo devuelva en los
> incorrectos:
> 
> nombreArchivo34:
> 
> clave: 1421 1235
> 
> nombreArchivo53
> 
> clave: 1244 5123
> 
> Aitor
> 
> 
> On 28/7/20 9:56, Narcis Garcia via gilug wrote:
>> Para realizar una acción para cada archivo (en este caso la acción es
>> mostrar el nombre del archivo):
>>
>> $ for Archivo in $(ls *.wml) ; do echo $Archivo ; done
>>
>> Para mostrar las 2 primeras coincidencias de un archivo:
>>
>> $ cat Uno.yml | grep -e Clave | head -n 2
>>
>> Para mostrar la 1 última coincidencia de un archivo:
>>
>> $ cat Uno.yml | grep -e Clave | tail -n 1
>>
>> Para combinar ambas técnicas y mostrar sólo la segunda coincidencia (ojo
>> que si no hay segunda se mostrará la primera):
>>
>> $ cat Uno.yml | grep -e Clave | head -n 2 | tail -n 1
>>
>>
>>
>> Narcis Garcia
>> El 28/7/20 a les 7:43, Sr. Aitor ha escrit:
>>> Buenas,
>>>
>>> Tengo archivos .yaml en los que tengo una serie de datos, con estructura
>>> como el siguiente ejemplo:
>>>
>>> --
>>>
>>> nombre: pepito grillo
>>>
>>> direccion: calle cualquiera
>>>
>>> telefono:
>>>
>>>     - 1234
>>>
>>>     - 5678
>>>
>>> iban: ES12 1212 1212 1212 1212
>>>
>>> etc: jfjasf
>>>
>>> --
>>>
>>> La cosa es que entre todos estos archivos, ayer descubrí que uno de los
>>> datos que debe ser igual para todos los archivos de 2020, estaba
>>> incorrecto. Y me gustaría poder revisar todos de la forma más eficiente
>>> posible.
>>>
>>> Para ello, hice un $ cat *.yaml | grep palabraClave
>>>
>>> Con esto me imprime todas las lineas con la palabraClave, pero no puedo
>>> saber qué archivo me está imprimiendo. A parte, esta palabraClave está
>>> repetida dos veces en el archivo, y me gustaría que sólo se imprimiera
>>> la segunda.
>>>
>>> ¿Se os ocurre cómo pueda hacerlo?
>>>
>>> Un saludo,
>>>
>>> Aitor
>>>
>>>
>>> ________________________________________________________
>>> LLISTA DE DISTRIBUCIO DE CORREU del GiLUG
>>> --------------------------------------------------------
>>> - Per a escriure a tothom del grup, envia el teu missatge a: usuaris(arrova)llista.gilug.org
>>> - Per a d'altres questions sobre la llista o subscripcio, autogestiona't a:
>>> http://llista.gilug.org/mailman/listinfo/usuaris
>>> - Pregunta com utilitzar aquest grup tambe des del telefon mobil.
>>> * Tots els missatges queden publicats a:
>>> http://llista.gilug.org/pipermail/usuaris/
>>>
>> ________________________________________________________
>> LLISTA DE DISTRIBUCIO DE CORREU del GiLUG
>> --------------------------------------------------------
>> - Per a escriure a tothom del grup, envia el teu missatge a: usuaris(arrova)llista.gilug.org
>> - Per a d'altres questions sobre la llista o subscripcio, autogestiona't a:
>> http://llista.gilug.org/mailman/listinfo/usuaris
>> - Pregunta com utilitzar aquest grup tambe des del telefon mobil.
>> * Tots els missatges queden publicats a:
>> http://llista.gilug.org/pipermail/usuaris/
> 
> ________________________________________________________
> LLISTA DE DISTRIBUCIO DE CORREU del GiLUG
> --------------------------------------------------------
> - Per a escriure a tothom del grup, envia el teu missatge a: usuaris(arrova)llista.gilug.org
> - Per a d'altres questions sobre la llista o subscripcio, autogestiona't a:
> http://llista.gilug.org/mailman/listinfo/usuaris
> - Pregunta com utilitzar aquest grup tambe des del telefon mobil.
> * Tots els missatges queden publicats a:
> http://llista.gilug.org/pipermail/usuaris/
> 




Més informació sobre la llista de correu gilug