Clasificar archivos segun su contenido

Hola, estoy peleandome con el bash de Ubuntu para clasificar unos archivos.

Tengo alrededor de 100000 ficheros de texto en un directorio, segun un criterio, si determinada linea se encuentra en ellos o no, deben moverse a una carpeta u otra, el problema es que ya he buscado en google y todo lo que encuentro es gente que quiere encontrar una linea en particular para borrarla del archivo, sin embargo yo quiero que los archivos permanezcan intactos, solo que si la linea que busco esta dentro, mueva el archivo a la carpeta.

He pensado usar un IF, el comando que uso para encontrar la linea es "cat archivo1.txt | grep 'esta linea' " y depende si me da salida o no, se que esta, pero como puedo pasarle esta salida al IF, para que cuando sea verdadera me haga el MV??

Gracias.
Si ejecutas:
grep "aqui el texto a buscar" aqui-el-nombre-del-archivo-que-toca-en-el-bucle


inmediatamente despues del grep, en $? tendras 0 si ha encontrado la linea, 1 si no la ha encontrado.
Con eso puedes hacer el if.
También puedes meter toda la parte del grep entre comillas invertidas (` `) y poner eso dentro de la condición del IF. Lo que esté entre las comillas se evaluará primero, y el resultado será lo que se use como condición del IF.
gracias por las respuestas, luego lo probare, habia pensado hacer lo que dice kornshell, pero tengo una duda, las comillas invertidas son las que estan arriba o a la derecha de la P?
A la derecha de la P, es un acento abierto, caracter muy normal si eres catalan/valenciano/frances XD
Gracias JanKusanagi, cuando hago lo de la comilla invertida me dice que hay demasiados parametros ¿?, tu comando funciona tal como dijiste, voy a ver si lo integro en la funcion y sale bien, gracias.
5 respuestas