Resumen del nivel intermedio de Linux — procesamiento de texto y scripts de shell

Este artículo forma parte del Curso de Linux, con el que dominarás desde cero habilidades prácticas de Linux, desde los comandos básicos hasta los scripts de shell.
Reúne en una sola página las expresiones regulares de grep, sed, awk, sort uniq cut wc tr tee, tar ln diff y du df date. Añade la sintaxis de shell para variables, argumentos, condicionales, bucles, funciones, entrada, integración de comandos y salida, con mapas de categorías y tablas de referencia por área.

Un repaso general de lo que aprendiste en el nivel intermedio de Linux

Esta página no es un ejercicio para el navegador: su objetivo es recopilar todo el nivel intermedio (procesamiento de texto I1–I10 y scripts de shell S1–S10). Reúne en una sola página, con diagramas y tablas de referencia por área, todo el procesamiento de texto: búsqueda y sustitución, agregación de columnas, formateo, archivado, comparación de archivos e información del sistema. A eso se suman los scripts de shell, desde las variables hasta las funciones, la lectura de la entrada, la integración de comandos y la salida de reportes. Usa las tablas de referencia para volver a cada artículo siempre que quieras repasar.

Un mapa de categorías de los comandos intermedios
regexgrep / -E / -osustituir/extraersed s/// -n pcolumnas, totalesawk $1 BEGIN ENDformatearsort uniq cut wcconvertir, dividirtr tee xargsarchivostar ln diffinfodu df date unameshell básico#!/bin/sh chmod +xcontrol, integrarif for fn $(...)procesamiento de textoformateo y archivossistema y scripts
El mapa organiza todo en 9 áreas: procesamiento de texto (regex, sed, awk, formateo), comandos de archivos, información del sistema y scripts de shell.
Una hoja de referencia de la estructura de un script de shell
shebang#!/bin/shvariablesv=x "$v"argumentos$1 $@ ${1:-d}condiciones[ -f ] if casebuclesfor whilefuncionesname(){} localentradawhile read < fintegración$(grep|awk)salida>> here-doc $?declaración y argumentosestructuras de controlentrada y salida
Del shebang a las variables, los argumentos, los condicionales, los bucles, las funciones, la entrada, la integración y la salida: estos son los bloques de un script.

Hoja de referencia — expresiones regulares, sed, awk

Este es el grupo central para buscar, sustituir, extraer y totalizar texto. Filtra las líneas con las expresiones regulares de grep, sustituye y manipula líneas con sed, y extrae columnas y calcula sus totales con awk. Una vez que dominas los símbolos, trabajar con logs y CSV se vuelve mucho más fácil.

SintaxisSignificado
^ / $Coincidir con el inicio o el final de una línea
. / *Cualquier carácter / cero o más repeticiones de lo anterior
[abc] / [a-z]Clase de caracteres (uno cualquiera de ellos o un rango)
grep -ERegex extendida (quedan disponibles + | ())
grep -oImprimir solo la parte coincidente
SintaxisSignificado
sed 's/old/new/'Reemplazar el primer old de cada línea por new
sed 's/old/new/g'Reemplazar todos los old de la línea
sed -n 'Np'Extraer solo la línea N
sed '/pat/d'Borrar las líneas que contienen pat
sed -iReescribir el archivo directamente
SintaxisSignificado
awk '{print $1}'Extraer la columna 1 ($NF es la última columna)
awk -F','Cambiar el separador
NR / NFNúmero de línea / número de campos de esa línea
/pat/{ … }Aplicar la acción solo a las líneas coincidentes
BEGIN{} … END{}Preparar antes del procesamiento y agregar después

Hoja de referencia — herramientas de formateo y comandos de archivos

Estas son las herramientas de formateo para ordenar, quitar duplicados, extraer columnas, contar líneas, traducir caracteres y dividir la salida, además de los comandos de archivos para archivar, enlazar, comparar y consultar el sistema. Encadénalos con pipes para preparar los datos de tus agregaciones y reportes.

SintaxisSignificado
sort / sort -nOrdenar (-n ordena numéricamente)
uniq / uniq -cQuitar duplicados consecutivos (-c añade el conteo)
cut -d',' -f1Extraer una columna con un separador dado
wc -l / wc -wContar líneas / palabras
tr a-z A-Z / tr -d / tr -sTraducir, borrar y comprimir caracteres repetidos
tee fileDividir la salida entre la pantalla y un archivo
SintaxisSignificado
tar -cf a.tar dirAgrupar un directorio en un solo archivo (sin comprimir)
tar -tf a.tarListar el contenido de un archivo tar
tar -xf a.tar / -C dirExtraer (-C elige el destino)
ln -s target nameCrear un enlace simbólico (el -> de ls -l)
ln a bCrear un enlace físico
diff a b / diff -uMostrar las diferencias (-u es el formato unificado)
du -sh / df -hMostrar el uso y el espacio libre en unidades legibles
date +%Y-%m-%d / uname -aDar formato a la fecha y mostrar la info del kernel

Hoja de referencia — sintaxis de scripts de shell

Esta es la sintaxis que va de las variables, los argumentos, los condicionales, los bucles y las funciones hasta la lectura de la entrada, la integración de comandos y la salida. Empieza con #!/bin/sh, añade permiso de ejecución con chmod +x y ejecútalo con ./file. El shell de este curso es ash, así que usa [ ] con if ([[ ]] es una extensión de bash).

SintaxisSignificado
#!/bin/sh / chmod +x f / ./fShebang, añadir permiso de ejecución, ejecutar
v=x / "$v"Asignar y referenciar una variable (entrecomíllala por seguridad)
$1 / $@ / $#Primer argumento / todos los argumentos / número de argumentos
${1:-def}Valor predeterminado cuando falta el argumento
$(...) / $(( ))Sustitución de comandos / expansión aritmética
[ -f f ] / if … fi / caseComprobaciones de archivos y ramificación condicional
for … do … done / whileRepetir trabajo
name() { … } / localDefinir una función y variables locales
while read line; do … done < fLeer un archivo línea por línea
printf '%s\t%s\n' a bSalida con formato (tabulador y salto de línea explícitos)
> f / >> f / 2> errSobrescribir, añadir y desviar el error estándar
<<EOF … EOF / $?here-doc / el código de salida más reciente

¡Buen trabajo en el nivel intermedio!

Ya tienes el conjunto completo: buscar con expresiones regulares, sustituir y totalizar con sed / awk, formatear con sort / uniq / cut / wc / tr / tee, y trabajar con archivos usando tar / ln / diff y los comandos de información del sistema. Del lado del scripting tienes variables, argumentos, condicionales, bucles y funciones, además de la lectura de la entrada, la integración de comandos y la salida de reportes. Combínalo todo y podrás cubrir de principio a fin el trabajo real del día a día: resumen de logs y automatización de tareas rutinarias.

Ten esta hoja de referencia a mano y, cuando olvides algo de la sintaxis, vuelve al artículo correspondiente y pruébalo en la práctica. A continuación, junta lo que has aprendido y empieza por un pequeño script de automatización pensado para tu propio trabajo.