GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo agregar datos al búfer en el script de Shell?

Me gustaría hacer lo siguiente usando el script de shell:(para simplificar, uso los mismos datos para INPUT. En el caso real, los datos cambian con la etiqueta de bucle jj)

#!/bin/sh
for jj in `seq 100`; do
    cat INPUT.file >> OUTPUT.file
done

Sin embargo, esto es muy ineficiente ya que abrir y cerrar el archivo están en el bucle. Cuando el tamaño del archivo INPUT.file es grande, este código será muy lento. Así que me pregunto si hay una manera de tener/crear un búfer como crear una variable preasignada en C.

Respuesta aceptada:

Gracias a la respuesta de Stéphane Chazelas a "¿Por qué hay tanta diferencia en el tiempo de ejecución de echo y cat?", la respuesta de muru puede mejorarse un poco llamando a cat solo una vez (sin embargo, esta cantidad "pequeña" puede convertirse en mucho para big data y numerosas iteraciones de bucle; en mi sistema, esta secuencia de comandos tarda ~75 % del tiempo que tarda la secuencia de comandos que tiene un bucle):

#!/bin/sh
yes INPUT.file | head -100 | xargs cat >> OUTPUT.file

Linux
  1. ¿Cómo verificar la subcadena en Shell Script Bash?

  2. ¿Cómo agregar la salida a un archivo?

  3. Cómo cambiar una palabra en un archivo con script de shell de Linux

  4. ¿Cómo agrego texto a un archivo?

  5. Cómo ejecutar un archivo sin extensión .sh en shell

Cómo usar variables en secuencias de comandos de Shell

Cómo crear scripts de shell

Cómo ejecutar Shell Script como servicio Systemd en Linux

¿Cómo ejecutar un comando en un script de Shell?

¿Cómo agregar a un archivo como sudo?

¿Puede un archivo .sh ser malware?