Ordenar archivos con grep


4

Tengo algunos cientos de archivos de salida, algunos de los cuales contienen mensajes de error. Digamos que quiero poner automáticamente todos los archivos que contienen la cadena "ERROR_1" en una "subcarpeta_1", y el resto en una segunda "subcarpeta_2". Esto debería ser posible al conectar grep de alguna manera. ¿Cuál sería una sintaxis útil?


Esto podría ayudar
50-3

Respuestas:


5
for a in *;do grep -q ERROR_1 "$a" && mv "$a" subfolder_1 || mv "$a" subfolder_2;done

Esto debería funcionar.


4

Este script moverá los archivos a las subcarpetas. Modifique el comodín *según sea necesario (por ejemplo *.log): este código buscará todos los archivos en el directorio actual

for f in *
do
    grep -f ERROR_1 "$f"
    if [ $? -eq 0 ]; then
       mv "$f" subfolder_1
    else
       mv "$f" subfolder_2
    fi
done
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.