Dale una mirada a esto:
http://es.tldp.org/Manuales-LuCAS/AA...html/x2786.htm
"split, csplit
Dividen un archivo en varias partes. split divide empleando como criterio un tamaño, mientras que csplit divide de acuerdo al contexto ---divide cada vez que en el texto aparezca una cadena [3] o patrón. split acepta como opciones para especificar el tamaño -b y -l, el primero seguido del tamaño en bytes y el segundo seguido del tamaño en líneas. Por ejemplo, para dividir un archivo grande en partes de 100000 bytes:
split -b 100000 grande
las partes quedarán en archivos con nombres como xaa, xab, etc. Para dividir un archivo dir.txt siempre que la palabra nombre aparezca:
csplit dir.txt /nombre/ {*}
En el ejemplo anterior la cadena por buscar [4] se especificó a continuación del nombre del archivo entre los caracteres '/', la cadena final "{*}" indica que debe dividirse cada vez que se encuentre una nueva ocurrencia de nombre, si no se usa csplit sólo buscará la primera ocurrencia y dividirá el archivo en dos partes, si en vez de * se emplea un número csplit buscará a lo sumo esa cantidad de veces la palabra y dividirá el archivo por cada ocurrencia que encuentre. "