1 votos

Comando split en la línea de comandos de Ubuntu

Quiero dividir un archivo en varios archivos con un máximo de 25 líneas cada uno.

Estoy usando esto:

split -l 25 /etc/adduser.conf > /home/ubuntu/PL/trab3/rc_

Pero no obtengo los archivos que espero.

¿Cómo puedo obtener archivos con nombres como rc_01, rc_02, etc.?

8voto

coneslayer Puntos 4440

La redirección (el signo >) es manejada por el shell y solo puede escribir en un archivo único, el archivo que menciones. Omite el >, de manera que /home/ubuntu/PL/trab3/rc_ se pase a split como un argumento de línea de comandos, para que pueda usarlo como prefijo de su salida.

1voto

aph Puntos 9

Split no admite sufijos para los nombres de archivo de salida. Hasta donde sé, solo admite prefijos. Para archivos de texto, podrías intentar con awk:

awk 'NR%25==1 { i+=1;file = "/home/ubuntu/PL/trab3/rc" "_" sprintf("%02d", i) } { print > file }' /etc/adduser.conf

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X