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.?

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.


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

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.