GNU/Linux >> Tutoriales Linux >  >> Linux

Bash scripting:cómo escribir datos en archivos de texto

Trabajar con scripts de shell siempre ha sido interesante para programadores y administradores de sistemas porque el resultado los ayuda a ambos con la depuración y el monitoreo. La configuración de la mayoría de las distribuciones de Linux se basa en gran medida en archivos, por lo que es importante comprender el concepto de escribir datos en un archivo de texto mediante un script o redirigir la salida en la línea de comandos.

Linux usa tres flujos de datos principales mientras se comunica con el usuario y la computadora:

  1. stdin (ENTRADA ESTÁNDAR)
  2. stdout (SALIDA ESTÁNDAR)
  3. stderr (ERROR ESTÁNDAR)

1. estándar

Este es el flujo de datos para la entrada de información. Cualquier entrada de cualquier dispositivo, como un teclado o un mouse, se incluye en el flujo de datos de entrada estándar. entrada estándar está representado por 0 ID de transmisión.

[ También puede disfrutar leyendo: Cinco formas de usar operadores de redirección en bash]

2. salida estándar

Este es el flujo de datos para la salida de datos. La salida de los dispositivos (como monitores, altavoces, etc.) se incluye en el flujo de datos de salida estándar. salida estándar está representado por 1 ID de transmisión.

3. estándar

El error estándar se usa para manejar cualquier error producido por los comandos. Cualquier transmisión de dispositivo (como monitor, altavoz, etc.) que advierte al usuario que algo salió mal se incluye en stderr. stderr está representado por 2 ID de transmisión.

¿Cómo se escriben datos en un archivo?

Utilice operadores de redirección para obtener los datos de los flujos stdout y stderr y redirigirlos a un archivo de texto.

Redireccionamiento :La redirección es una función de Linux que se utiliza para cambiar los dispositivos de entrada/salida mientras se ejecuta un comando.

Redireccionamiento de salida/error

Para escribir datos en un archivo de texto desde un script Bash, use la redirección de salida/error con > y >>  operadores de redirección.

> Sobrescribe datos en un archivo de texto.

>> Añade datos a un archivo de texto.

Crear un script básico y comprender la redirección

date >> test1.txt
who >> test1.txt

date > test2.txt
who > test2.txt

Aquí, la salida de ambos comandos se agregará a test1.txt mientras test2.txt contendrá solo la salida de who comando.

Trabajar más con la redirección

El script anterior redirigirá solo la salida y fallará en caso de error. Para trabajar con redirección para salida, error o ambos, debe especificar los parámetros adicionales.

Para redirigir la salida:> o >> o 1> o 1>>

Por error de redireccionamiento:2> o 2>>

Para redirigir ambos:&> o &>>

Errores de redirección

date --who 2>> test1.txt
who 2>> test1.txt

Para redirigir solo los errores, ha especificado el parámetro específico para el error. El archivo de salida contendrá solo la salida del primer comando porque tiene un argumento incorrecto.

Otros argumentos se pueden usar indistintamente para lograr una funcionalidad diferente.

Escribir la secuencia de comandos para otros comandos es igual que la secuencia de comandos anterior y requiere los operadores que se muestran arriba.

[ Descargar ahora:una guía para administradores de sistemas sobre secuencias de comandos Bash. ] 

Resumir

La redirección de datos a stdout o stderr es muy útil tanto para los desarrolladores como para los administradores de sistemas. Comprender estas herramientas y sus resultados lo ayudará a crear nuevos archivos, solucionar problemas y recopilar información del sistema.


Linux
  1. Cómo escribir un bucle en Bash

  2. Cómo usar el comando Grep para buscar texto en archivos

  3. Cómo unir dos archivos de texto en Linux

  4. ¿Cómo envío texto en color a una terminal Linux?

  5. ¿Cómo puedo hacer que tcpdump escriba en el archivo y genere de forma estándar los datos apropiados?

Cómo comparar y fusionar archivos de texto en Linux

Cómo comparar y fusionar archivos de texto en Linux (parte 2)

Cómo usar el comando de fecha en Bash Scripting en Linux

Bash scripting:cómo leer datos de archivos de texto

Shell Scripting para principiantes:cómo escribir Bash Scripts en Linux

Bash Scripting:cómo generar y formatear texto en Linux Shell