103.2 - Procesar flujos de texto con filtros: Comandos clave

Visualizacion de archivos

ComandoDescripcionEjemplo
cat archivoMuestra contenido del archivocat /etc/hosts
cat -n archivoMuestra con numeros de lineacat -n script.sh
cat -b archivoNumera solo lineas no vaciascat -b datos.txt
cat -s archivoSuprime lineas vacias repetidascat -s registro.log
cat -A archivoMuestra caracteres especialescat -A config.txt
tac archivoMuestra lineas en orden inversotac access.log

Primeras y ultimas lineas

ComandoDescripcionEjemplo
head archivoPrimeras 10 lineashead /etc/passwd
head -n N archivoPrimeras N lineashead -n 5 archivo.txt
head -n -N archivoTodas excepto las N ultimashead -n -3 archivo.txt
head -c N archivoPrimeros N byteshead -c 100 archivo.bin
tail archivoUltimas 10 lineastail /var/log/syslog
tail -n N archivoUltimas N lineastail -n 20 archivo.txt
tail -n +N archivoDesde la linea N hasta el finaltail -n +5 archivo.txt
tail -f archivoSeguir en tiempo realtail -f /var/log/syslog
tail -F archivoSeguir incluso si se rotatail -F app.log

Ordenacion

ComandoDescripcionEjemplo
sort archivoOrden alfabeticosort nombres.txt
sort -n archivoOrden numericosort -n numeros.txt
sort -r archivoOrden reversosort -r archivo.txt
sort -k N archivoOrdena por campo Nsort -k 2 datos.txt
sort -t "D" archivoDefine delimitador Dsort -t ":" /etc/passwd
sort -u archivoOrdena y elimina duplicadossort -u lista.txt
sort -f archivoIgnora mayusculas/minusculassort -f mezcla.txt
sort -h archivoTamanhos legibles (1K, 2M)sort -h tamanhos.txt
sort -c archivoVerifica si esta ordenadosort -c lista.txt
sort -o salida archivoGuarda resultado en archivosort -o sorted.txt data.txt

Filtrado de duplicados

ComandoDescripcionEjemplo
uniq archivoElimina duplicados adyacentessort datos.txt | uniq
uniq -c archivoCuenta ocurrenciassort datos.txt | uniq -c
uniq -d archivoSolo muestra duplicadossort datos.txt | uniq -d
uniq -u archivoSolo muestra unicossort datos.txt | uniq -u
uniq -i archivoIgnora mayusculas/minusculassort datos.txt | uniq -i

Conteo

ComandoDescripcionEjemplo
wc archivoLineas, palabras, byteswc archivo.txt
wc -l archivoSolo lineaswc -l /etc/passwd
wc -w archivoSolo palabraswc -w documento.txt
wc -c archivoSolo byteswc -c archivo.bin
wc -m archivoSolo caractereswc -m texto.txt
wc -L archivoLinea mas largawc -L codigo.py

Extraccion de columnas y campos

ComandoDescripcionEjemplo
cut -d "D" -f NCampo N con delimitador Dcut -d ":" -f 1 /etc/passwd
cut -d "D" -f N,MCampos N y Mcut -d ":" -f 1,3 /etc/passwd
cut -d "D" -f N-MCampos N a Mcut -d ":" -f 1-3 /etc/passwd
cut -c N-MCaracteres N a Mcut -c 1-10 archivo.txt
cut -b N-MBytes N a Mcut -b 1-10 archivo.bin

Union de archivos

ComandoDescripcionEjemplo
paste f1 f2Une por columnas (TAB)paste nombres.txt edades.txt
paste -d "D" f1 f2Une con delimitador Dpaste -d "," f1.txt f2.txt
paste -s archivoUne lineas en una solapaste -s lista.txt
join f1 f2Une por campo comunjoin emp.txt dept.txt
join -1 N -2 M f1 f2Campos especificosjoin -1 2 -2 1 f1.txt f2.txt
join -t "D" f1 f2Con delimitadorjoin -t ":" f1.txt f2.txt

Traduccion y eliminacion de caracteres

ComandoDescripcionEjemplo
tr 'a-z' 'A-Z'Convertir a mayusculasecho "hola" | tr 'a-z' 'A-Z'
tr 'A-Z' 'a-z'Convertir a minusculasecho "HOLA" | tr 'A-Z' 'a-z'
tr ' ' '_'Reemplazar caracterecho "hola mundo" | tr ' ' '_'
tr -d 'chars'Eliminar caracteresecho "abc123" | tr -d '0-9'
tr -s 'char'Comprimir repetidosecho "hooolaa" | tr -s 'o'
tr -dc 'chars'Eliminar todo exceptoecho "abc123" | tr -dc '0-9'

Tabulaciones y formato

ComandoDescripcionEjemplo
expand archivoTabs a espacios (8 por defecto)expand codigo.c
expand -t N archivoTabs a N espaciosexpand -t 4 codigo.c
unexpand archivoEspacios iniciales a tabsunexpand texto.txt
unexpand -a archivoTodos los espacios a tabsunexpand -a texto.txt
fmt archivoReformatea a 75 columnasfmt parrafo.txt
fmt -w N archivoReformatea a N columnasfmt -w 60 texto.txt
pr archivoFormatea para impresionpr informe.txt
pr -2 archivoEn 2 columnaspr -2 lista.txt
pr -h "titulo" archivoCon titulo personalizadopr -h "Informe" datos.txt

Numeracion de lineas

ComandoDescripcionEjemplo
nl archivoNumera lineas no vaciasnl script.sh
nl -b a archivoNumera todas las lineasnl -b a texto.txt
nl -s '. ' archivoSeparador personalizadonl -s '. ' lista.txt
nl -w N archivoAncho del numeronl -w 3 archivo.txt
nl -n rz archivoCon ceros a la izquierdanl -n rz lista.txt

Volcado binario

ComandoDescripcionEjemplo
od archivoVolcado octalod archivo.bin
od -t x1 archivoVolcado hexadecimalod -t x1 archivo.bin
od -c archivoMostrar caracteresod -c texto.txt
hexdump -C archivoHex + ASCII canonicohexdump -C archivo.bin

Division de archivos

ComandoDescripcionEjemplo
split archivoDivide en partes de 1000 lineassplit datos.csv
split -l N archivoPartes de N lineassplit -l 100 datos.csv
split -b SIZE archivoPartes de SIZE bytessplit -b 1M archivo.iso
split -n N archivoEn N partes igualessplit -n 5 datos.csv
split -d archivo prefijoSufijos numericossplit -d datos.csv parte_

sed (editor de flujos)

ComandoDescripcionEjemplo
sed 's/a/b/' archivoReemplaza primera ocurrenciased 's/error/ERROR/' log.txt
sed 's/a/b/g' archivoReemplaza todas (global)sed 's/foo/bar/g' datos.txt
sed -i 's/a/b/g' archivoReemplazo in-placesed -i 's/old/new/g' config
sed -i.bak 's/a/b/g' archivoIn-place con backupsed -i.bak 's/old/new/g' f
sed 'Nd' archivoBorra la linea Nsed '5d' archivo.txt
sed 'N,Md' archivoBorra lineas N a Msed '2,5d' archivo.txt
sed '/patron/d' archivoBorra lineas con patronsed '/^#/d' config.txt
sed -n 'Np' archivoImprime solo linea Nsed -n '10p' archivo.txt
sed -n '/patron/p' archivoImprime lineas con patronsed -n '/error/p' log.txt

Checksums

ComandoDescripcionEjemplo
md5sum archivoGenera hash MD5md5sum imagen.iso
md5sum -c archivo.md5Verifica hash MD5md5sum -c sumas.md5
sha256sum archivoGenera hash SHA-256sha256sum imagen.iso
sha256sum -c archivo.sha256Verifica SHA-256sha256sum -c sumas.sha256
sha512sum archivoGenera hash SHA-512sha512sum imagen.iso
sha512sum -c archivo.sha512Verifica SHA-512sha512sum -c sumas.sha512

Lectores de archivos comprimidos

ComandoFormatoEquivalente
zcat archivo.gzgzipgunzip -c
bzcat archivo.bz2bzip2bunzip2 -c
xzcat archivo.xzxzunxz -c