~/docs /grep awk xargs CHEATSHEET

grep awk xargs CHEATSHEET

grep awk xargs CHEATSHEET

Imported from Notion: grep awk xargs CHEATSHEET

updated:: 2026.07.10

Que resuelve

Referencia rapida para procesar texto en terminal con grep, awk, cut, sort, uniq, wc, tee y xargs.

Flujo mental

  1. Filtra lineas con grep.

  2. Extrae columnas con awk o cut.

  3. Ordena con sort.

  4. Cuenta repetidos con uniq -c.

  5. Encadena acciones con xargs.

grep

Buscar texto

grep '{PATTERN}' {FILE}

Ignorar mayusculas

grep -i '{PATTERN}' {FILE}

Buscar recursivo

grep -R '{PATTERN}' {DIR}

Mostrar numero de linea

grep -n '{PATTERN}' {FILE}

Invertir coincidencia

grep -v '{PATTERN}' {FILE}

Solo coincidencia

grep -o '{PATTERN}' {FILE}

Expresion regular extendida

grep -E '{REGEX}' {FILE}

awk

Imprimir primera columna

awk '{print $1}' {FILE}

Imprimir columnas concretas

awk '{print $1, $3}' {FILE}

Cambiar separador de entrada

awk -F ':' '{print $1}' /etc/passwd

Filtrar por columna

awk '$3 > {NUMBER} {print $0}' {FILE}

Sumar una columna

awk '{sum += $1} END {print sum}' {FILE}

Imprimir con formato

awk '{printf "%-20s %s\n", $1, $2}' {FILE}

cut

Cortar por bytes/caracteres

cut -c 1-10 {FILE}

Cortar por delimitador

cut -d ':' -f 1 /etc/passwd

Varias columnas

cut -d ',' -f 1,3 {FILE}

sort y uniq

Ordenar

sort {FILE}

Ordenar numerico

sort -n {FILE}

Ordenar descendente

sort -nr {FILE}

Quitar duplicados

sort {FILE} | uniq

Contar repetidos

sort {FILE} | uniq -c

Top repetidos

sort {FILE} | uniq -c | sort -nr | head

wc

Contar lineas

wc -l {FILE}

Contar palabras

wc -w {FILE}

Contar bytes

wc -c {FILE}

tee

Ver y guardar salida

{COMMAND} | tee output.txt

Anadir a archivo

{COMMAND} | tee -a output.txt

xargs

Ejecutar comando por cada entrada

cat files.txt | xargs -I {} ls -lah {}

Borrar archivos listados

cat files.txt | xargs -r rm

Limitar argumentos por ejecucion

cat items.txt | xargs -n 10 {COMMAND}

Manejar nombres con espacios

find {DIR} -type f -print0 | xargs -0 {COMMAND}

Recetas

Top IPs en un log

awk '{print $1}' access.log | sort | uniq -c | sort -nr | head

Buscar errores en logs

grep -RniE 'error|failed|exception' /var/log

Ver extensiones mas repetidas

find {DIR} -type f | awk -F '.' 'NF>1 {print $NF}' | sort | uniq -c | sort -nr | head

Extraer codigos HTTP

awk '{print $9}' access.log | sort | uniq -c | sort -nr

Filtrar procesos por consumo

ps aux | awk '$3 > 50 {print $0}'

Variables

VariableDescripcion
{PATTERN}Texto literal o patron
{REGEX}Expresion regular
{FILE}Archivo
{DIR}Directorio
{COMMAND}Comando a ejecutar
{NUMBER}Numero para comparacion

Errores comunes

SintomaCausa probableSolucion
uniq no agrupa todoEntrada no ordenadaUsa `sortuniq`
xargs rompe espaciosSeparacion por whitespaceUsa `find -print0xargs -0`
awk columna incorrectaSeparador distintoUsa -F
grep no encuentra regexRegex basica por defectoUsa grep -E

Checklist final

  • Usa rg si esta disponible para busquedas rapidas.

  • Usa awk para columnas logicas.

  • Usa cut para delimitadores simples.

  • Usa xargs -0 con nombres de archivo reales.

- EOF -