Skip to content

Manipulación de Texto

Herramientas poderosas para procesar, buscar, filtrar y transformar texto en sistemas Linux.

Muestra el contenido completo de archivos de texto. Comando básico para visualización y concatenación de archivos.

Terminal window
# Mostrar archivo
cat file.txt
# Concatenar archivos
cat file1.txt file2.txt
# Numerar líneas
cat -n file.txt
# Mostrar caracteres no imprimibles
cat -A file.txt
# Crear archivo desde entrada estándar
cat > newfile.txt

Visualizador de texto con navegación avanzada y búsqueda. Ideal para archivos grandes y análisis detallado.

Terminal window
# Abrir archivo
less file.txt
# Navegación:
# Espacio: página siguiente
# b: página anterior
# /texto: buscar hacia adelante
# ?texto: buscar hacia atrás
# q: salir

Visualizador básico de texto página por página. Versión más simple de less para visualización rápida.

Terminal window
more file.txt

Muestra las primeras líneas de archivos. Útil para vista previa rápida y análisis de headers de archivos.

Terminal window
# Primeras 10 líneas (por defecto)
head file.txt
# Primeras N líneas
head -n 20 file.txt
# Primeros N bytes
head -c 100 file.txt
# Múltiples archivos
head file1.txt file2.txt

Muestra las últimas líneas de archivos con opción de seguimiento en tiempo real. Esencial para monitoreo de logs.

Terminal window
# Últimas 10 líneas (por defecto)
tail file.txt
# Últimas N líneas
tail -n 20 file.txt
# Seguir archivo en tiempo real
tail -f /var/log/syslog
# Seguir con número de líneas
tail -f -n 50 /var/log/syslog

Uso en pentesting: Monitorear logs en tiempo real durante ataques o análisis forense.

Compara dos archivos ordenados mostrando líneas únicas y comunes. Útil para análisis de conjuntos de datos.

Terminal window
# Comparar archivos
comm file1.txt file2.txt
# Mostrar solo líneas únicas en file1
comm -23 file1.txt file2.txt
# Mostrar solo líneas únicas en file2
comm -13 file1.txt file2.txt
# Mostrar solo líneas comunes
comm -12 file1.txt file2.txt

Busca patrones de texto en archivos usando expresiones regulares. Herramienta fundamental para filtrado y análisis.

Terminal window
# Búsqueda básica
grep "pattern" file.txt
# Búsqueda insensible a mayúsculas
grep -i "pattern" file.txt
# Búsqueda recursiva en directorios
grep -r "pattern" /path/to/directory/
# Mostrar número de línea
grep -n "pattern" file.txt
# Mostrar líneas que NO coinciden
grep -v "pattern" file.txt
# Contar coincidencias
grep -c "pattern" file.txt
# Mostrar solo archivos que coinciden
grep -l "pattern" *.txt
# Expresiones regulares extendidas
grep -E "pattern1|pattern2" file.txt
# Contexto alrededor de coincidencias
grep -A 3 -B 3 "pattern" file.txt

Uso en pentesting: Buscar credenciales, configuraciones sensibles, direcciones IP y patrones específicos en logs.

Versión extendida de grep con soporte completo para expresiones regulares. Equivalente a grep -E.

Terminal window
# Equivalente a grep -E
egrep "pattern1|pattern2" file.txt
# Buscar direcciones IP
egrep "[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}" file.txt
# Buscar emails
egrep "[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}" file.txt

Búsqueda de cadenas literales sin interpretación de regex. Más rápido para búsquedas de texto fijo.

Terminal window
# Búsqueda de cadena literal (sin regex)
fgrep "literal.string" file.txt

Extrae campos específicos de líneas de texto. Útil para procesar archivos delimitados y extraer datos específicos.

Terminal window
# Extraer caracteres específicos
cut -c 1-10 file.txt
# Extraer campos delimitados
cut -d ',' -f 1,3 file.csv
# Extraer campo específico
cut -d ':' -f 1 /etc/passwd
# Usar tabulador como delimitador
cut -f 1,2 file.txt

Formatea texto en columnas alineadas. Mejora la legibilidad de datos tabulares en terminal.

Terminal window
# Formatear en columnas
column -t file.txt
# Especificar delimitador
column -t -s ',' file.csv
# Especificar número de columnas
column -c 3 file.txt

Lenguaje de programación para procesamiento de texto estructurado. Excelente para análisis de columnas y cálculos. avanzado

Terminal window
# Imprimir columna específica
awk '{print $1}' file.txt
# Imprimir múltiples columnas
awk '{print $1, $3}' file.txt
# Usar delimitador específico
awk -F ',' '{print $1}' file.csv
# Condiciones
awk '$3 > 100 {print $1}' file.txt
# Sumar columna
awk '{sum += $1} END {print sum}' file.txt
# Contar líneas
awk 'END {print NR}' file.txt

Editor de texto no interactivo para transformaciones automáticas. Potente para sustituciones y modificaciones en lote.

Terminal window
# Sustituir primera ocurrencia
sed 's/old/new/' file.txt
# Sustituir todas las ocurrencias
sed 's/old/new/g' file.txt
# Eliminar líneas que coinciden
sed '/pattern/d' file.txt
# Imprimir líneas específicas
sed -n '1,10p' file.txt
# Insertar texto
sed '2i\New line' file.txt
# Modificar archivo in-situ
sed -i 's/old/new/g' file.txt

Ordena líneas de texto según diferentes criterios. Fundamental para organización y análisis de datos.

Terminal window
# Ordenamiento básico
sort file.txt
# Ordenamiento numérico
sort -n file.txt
# Ordenamiento reverso
sort -r file.txt
# Ordenar por columna específica
sort -k 2 file.txt
# Ordenamiento único
sort -u file.txt
# Ignorar mayúsculas
sort -f file.txt

Elimina o cuenta líneas duplicadas consecutivas. Debe usarse con sort para eliminar todos los duplicados.

Terminal window
# Eliminar líneas duplicadas consecutivas
uniq file.txt
# Contar ocurrencias
uniq -c file.txt
# Mostrar solo duplicados
uniq -d file.txt
# Mostrar solo únicos
uniq -u file.txt

Cuenta líneas, palabras y caracteres en archivos. Útil para estadísticas básicas de archivos de texto., líneas, caracteres

Terminal window
# Contar líneas, palabras y caracteres
wc file.txt
# Solo líneas
wc -l file.txt
# Solo palabras
wc -w file.txt
# Solo caracteres
wc -c file.txt
# Múltiples archivos
wc *.txt
Terminal window
# Numerar todas las líneas
nl file.txt
# Numerar solo líneas no vacías
nl -b t file.txt
# Formato de numeración
nl -n rz file.txt

Traduce o elimina caracteres específicos. Útil para transformaciones de texto y limpieza de datos.liminar caracteres

Terminal window
# Convertir a mayúsculas
tr 'a-z' 'A-Z' < file.txt
# Convertir a minúsculas
tr 'A-Z' 'a-z' < file.txt
# Eliminar caracteres
tr -d '0-9' < file.txt
# Comprimir espacios repetidos
tr -s ' ' < file.txt
# Reemplazar caracteres
tr ' ' '_' < file.txt
Terminal window
# Invertir cada línea carácter por carácter
rev file.txt
Terminal window
# Mostrar archivo desde la última línea
tac file.txt

Une líneas de dos archivos basándose en campos comunes. Similar a JOIN en bases de datos relacionales. por campo común

Terminal window
# Unir por primer campo
join file1.txt file2.txt
# Unir por campo específico
join -1 2 -2 1 file1.txt file2.txt
# Usar delimitador específico
join -t ',' file1.csv file2.csv

Combina líneas correspondientes de múltiples archivos. Útil para crear archivos tabulares desde múltiples fuentes. horizontalmente

Terminal window
# Unir archivos lado a lado
paste file1.txt file2.txt
# Usar delimitador específico
paste -d ',' file1.txt file2.txt
# Unir líneas del mismo archivo
paste -s file.txt
Terminal window
# Dividir por número de líneas
split -l 1000 largefile.txt
# Dividir por tamaño
split -b 1M largefile.txt
# Prefijo personalizado
split -l 1000 largefile.txt part_
Terminal window
# Buscar IPs sospechosas en logs
grep -E "([0-9]{1,3}\.){3}[0-9]{1,3}" /var/log/auth.log | sort | uniq -c | sort -nr
# Extraer usuarios de intentos de login
awk '/Failed password/ {print $9}' /var/log/auth.log | sort | uniq -c
# Buscar patrones de ataque
grep -i "sql\|script\|alert\|union\|select" /var/log/apache2/access.log
Terminal window
# Extraer subdominios únicos
cat domains.txt | cut -d '.' -f 1 | sort | uniq
# Procesar salida de nmap
grep "open" nmap_output.txt | awk '{print $1}' | sort -n
# Limpiar lista de IPs
cat ips.txt | grep -E "^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$" | sort | uniq
Terminal window
# Buscar credenciales en archivos
grep -ri "password\|passwd\|pwd" /etc/ 2>/dev/null
# Extraer usuarios del sistema
cut -d ':' -f 1 /etc/passwd | sort
# Buscar archivos con configuraciones sensibles
find /etc -name "*.conf" -exec grep -l "password\|key\|secret" {} \;
Terminal window
# Crear reporte de puertos abiertos
awk '/open/ {printf "%-15s %-10s %s\n", $2, $1, $3}' nmap_scan.txt
# Contar tipos de archivos
find /path -type f | rev | cut -d '.' -f 1 | rev | sort | uniq -c | sort -nr

Tip: Combina estos comandos con pipes (|) para crear flujos de procesamiento potentes. Por ejemplo: cat log.txt | grep "ERROR" | cut -d ' ' -f 1 | sort | uniq -c | sort -nr