GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo dividir y combinar archivos desde la línea de comandos en Linux

En este breve tutorial, mostraré cómo dividir y combinar archivos desde la línea de comandos en sistemas operativos Linux y similares a Unix usando los comandos "split" y "cat".

Tengo muchos videos tutoriales de Linux en mi escritorio de Linux y quería moverlos todos a mi Google Drive. El problema es que el tamaño de algunos archivos de video es más de 1 GiB. Prácticamente no es un buen enfoque cargar archivos tan grandes en la unidad de Google. Aunque Google Drive nos permite cargar archivos de hasta 5 TB, considero que es un proceso que requiere mucho tiempo para cargar todos los archivos grandes.

Mientras contemplaba este problema, pensé que sería mucho mejor si pudiera dividir esos archivos en un tamaño más pequeño y subirlos uno por uno. Puedo, entonces, descargar todas las partes del archivo y combinarlas todas cuando quiera. Este es solo un ejemplo. Es posible que tenga diferentes razones para dividir un archivo grande en varias partes y combinarlas más tarde. Si alguna vez has estado en esta situación, no temas. Hay una utilidad de línea de comando simple llamada "split" que se utiliza para dividir los archivos grandes en varios archivos más pequeños. Puede unirlos a todos más tarde para crear un solo archivo.

Dividir y combinar archivos desde la línea de comandos en Linux

Primero, veamos cómo dividir un archivo grande en varios archivos más pequeños.

Dividir archivos en Linux desde la línea de comandos

Eche un vistazo al tamaño del siguiente archivo de video.

$ du -h Linux\ Security.mp4

Salida de muestra:

1.1G Linux Security.mp4

Como puede ver, el tamaño del archivo de video es de 1.1 GiB, que es muy grande para cargarlo en mi unidad de Google. Aunque Google Drive permite a los usuarios subir archivos de hasta 5 TB en tamaño, es realmente un proceso que consume mucho tiempo. Con mi conexión a Internet de baja velocidad, supongo que tardaría más de 30 minutos en cargar. No quiero esperar mucho más. Entonces, lo que voy a hacer es dividir este archivo en varios archivos de menor tamaño, por ejemplo, de 100 MB cada uno, para que el proceso de carga sea más rápido.

Ahora, dividamos el archivo anterior en varios archivos más pequeños, digamos, por ejemplo, de 100 MB cada uno. Para hacerlo, ejecute:

$ split -b 100M Linux\ Security.mp4 ls.

El comando anterior divide el archivo Linux Security.mp4 en fragmentos de 100 MB. Este comando crea archivos llamados ls.aa , ls.ab , ls.ac .. y así sucesivamente.

Echemos un vistazo a la salida después de dividir el archivo grande.

$ ls

Salida de muestra:

'Linux Security.mp4' ls.ab ls.ad ls.af ls.ah ls.aj
 ls.aa ls.ac ls.ae ls.ag ls.ai ls.ak

¿Ver? El archivo Linux Security.mp4 se ha dividido en varios archivos llamados ls.aa, ls.ab .... ls.ak, etc. Cada archivo tiene un tamaño de 100 MB.

Ahora, es un poco fácil enviarlos como archivo adjunto de correo electrónico.

Combina archivos en Linux desde la línea de comandos

Guarda todos los archivos en una carpeta. Y luego, ve a esa carpeta y combínalos de la siguiente manera.

$ cat ls.?? > Linux_security.mp4

Aquí, Linux_security.mp4 es el nombre del archivo de salida. Los signos de interrogación dobles (?? ) coincide con cualquier extensión de dos caracteres en el nombre del archivo. En pocas palabras, la parte del nombre de archivo ls.?? coincide con todos los nombres de archivo, como ls.aa, ls.ab ..etc., y los combina todos en un solo archivo. Tenga en cuenta que este comando combinará todos los archivos que contengan extensiones de dos caracteres. Por lo tanto, asegúrese antes de combinar archivos. Si hay otros archivos con extensiones de dos letras, también se combinarán en el archivo de salida.

Además, no olvide mencionar la extensión correcta al fusionarlos. En caso de que desee enviar todos los archivos por correo a su amigo, dígale la extensión correcta de los archivos que ha enviado. Debe usar la misma extensión de archivo en el archivo de salida mientras los combina.

Si no especifica ningún argumento en el comando dividir, el archivo se dividirá en varios archivos más pequeños con x como nombres de archivo. Cada archivo contendría 1000 líneas por defecto. Aquí, es el sufijo de dos caracteres que se agrega de forma predeterminada con cada nombre de archivo.

Dividimos el mismo archivo usando el comando dividir sin especificar ningún argumento adicional como se muestra a continuación.

$ split Linux\ Security.mp4

Este comando divide el archivo de seguridad de Linux en varios archivos más pequeños con x** como nombres de archivo.

Ejecute el comando 'ls' para ver los archivos:

$ ls

Salida de muestra:

Linux Security.mp4 xaj xat xbd xbn xbx xch xcr xdb xdl xdv xef xep xez xfj
xaa xak xau xbe xbo xby xci xcs xdc xdm xdw xeg xeq xfa xfk
xab xal xav xbf xbp xbz xcj xct xdd xdn xdx xeh xer xfb xfl
xac xam xaw xbg xbq xca xck xcu xde xdo xdy xei xes xfc xfm
xad xan xax xbh xbr xcb xcl xcv xdf xdp xdz xej xet xfd
xae xao xay xbi xbs xcc xcm xcw xdg xdq xea xek xeu xfe
xaf xap xaz xbj xbt xcd xcn xcx xdh xdr xeb xel xev xff
xag xaq xba xbk xbu xce xco xcy xdi xds xec xem xew xfg
xah xar xbb xbl xbv xcf xcp xcz xdj xdt xed xen xex xfh
xai xas xbc xbm xbw xcg xcq xda xdk xdu xee xeo xey xfi

Cada archivo debe contener 1000 líneas. También puedes verificarlo usando wc (recuento de palabras) como se muestra a continuación.

$ wc -l *

La salida de muestra sería:

142891 Linux Security.mp4
 1000 xaa
 1000 xab
 1000 xac
 1000 xad
 1000 xae
 1000 xaf
 1000 xag
 1000 xah
 .
 .
 .
 1000 xfl
 891 xfm
 285782 total

Para combinar todos estos archivos, ejecute:

$ cat x* > ls.mp4

El comando anterior combinará todos los archivos en un solo archivo llamado ls.mp4 .

Para obtener más detalles, consulte las páginas man.

$ man split

Recomendar lectura:

  • Cómo dividir o extraer páginas particulares de un archivo PDF
  • Cómo fusionar archivos PDF en la línea de comandos en Linux

Conclusión

Podría haber otras herramientas CLI y GUI disponibles en Linux para dividir o combinar archivos. Pero, 'dividir' es un comando incorporado que viene preinstalado. Por lo tanto, no se moleste en instalar ninguna herramienta adicional en su caja de Linux. Además, el comando dividir divide el archivo en varias partes rápidamente.


Linux
  1. Cómo eliminar archivos y directorios en Linux desde la línea de comandos

  2. Cómo prevenir y recuperarse de la eliminación accidental de archivos en Linux

  3. Cómo eliminar archivos y directorios en la línea de comandos de Linux [Tutorial para principiantes]

  4. Cómo contar el número de líneas en un archivo en Linux (ejemplos de comandos wc y nl)

  5. ¿Cómo puedo obtener la resolución (ancho y alto) de un archivo de video desde una línea de comando de Linux?

Comando Ls en Linux (Lista de archivos y directorios)

Cómo copiar archivos y directorios en Linux

Cómo mover archivos y directorios en Linux (comando mv)

Cómo buscar archivos desde la línea de comandos de Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

¿Cómo verificar el uso de Inode desde cPanel y la línea de comandos?