comando dividido en la línea de comandos de Ubuntu

1

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 de archivo como rc_01, rc_02, etc.?

pedro
fuente

Respuestas:

8

La redirección (el >signo) es manejada por el shell, y solo puede generar un solo archivo, el archivo que usted nombre. Omita el >, para que /home/ubuntu/PL/trab3/rc_se pase splitcomo un argumento de línea de comando, para que pueda usarlo como su prefijo de salida.

asesino
fuente
99
PD: En lugar de decir que algo "no funciona", es mejor decir qué sucede ... qué mensaje (s) de error recibes, qué sucede que no estabas esperando, qué no sucede que eras esperando, etc.
coneslayer
split --helpayudaría también
laconbass
1

Split no admite sufijos para nombres de archivos de salida. AFAIK solo admite prefijo. Para archivos de texto, puedes probar awk:

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

aph
fuente