Professional Documents
Culture Documents
Filtros y
Redireccionamiento
Filtros o tuberas
Las tuberas o filtros utilizan en una lnea de comandos para conectar la salida estndar de
un comando con la entrada estndar de otro. Para ello se utiliza el caracter |.
Redireccionamiento
Cualquier proceso tiene una entrada estndar, stdin, y dos salidas, la salida
estndar, stdout, y la salida de errores, stderr.
Normalmente, la entrada estandar, stdin, es el teclado y la salida estndar,stdout, es la
pantalla, pero si se produjo un error en la ejecucin del proceso la salida por pantalla
corresponder a la salida de errores stderr.
Sin embargo puede que queramos cambiar la entrada estandar, la salida estndar o la
salida de errores por un fichero. Para ello utilizamos los redireccionamientos, con los
siguientes caracteres:
Comandos relacionados
grep
Muestra las lneas de un fichero dado que coinciden con un cierto patrn
Sintaxis:
grep [opciones] patrn [fichero/s]
Opciones:
-r|-R| recursive
Para buscar de forma recursiva dentro de los ficheros de un directorio.
-n|line-number
Muestra el nmero correspondiente al lugar que ocupa en el fichero la lnea encontrada.
-i|ignore-case
No distingue entre maysculas y minsculas.
-v|invert-match
Muestra las lneas que no se corresponden con el patrn.
-c|count
Escribe el nmero de lneas que satisfacen la condicin.
-l|files-with-matches
Se escriben los nombres de los ficheros que contienen las lneas buscadas.
Patrn:
texto lneas que contengan la cadena texto
^texto lneas que empiezan por texto
^[texto] lneas que no empiezan por texto
texto$ lneas que terminan por texto
Ejemplos
Utilizando tuberas:
couchdb:x:114:126:CouchDB Administrator,,,:/var/lib/couchdb:/bin/bash
user:x:1001:1001:user,,,:/home/user:/bin/bash
cut
Muestra slo ciertas lneas verticales (campos) de los ficheros que se le pasen como
argumento.
Sintaxis:
cut [opciones] [fichero/s]
Opciones:
-c|characters=lista
Muestra solo los caracteres que se le especifiquen
-d|delimiter=delim
Usa el caracter que se le especifique como delimitador en vez del tabulador
-f|fields=lista
Muestra solo los campos que se le indiquen en lista. Puede ser un campo, una serie de
campos separados por comas, y un rango
-s|ooonly-delimited
No muestra las lneas que contengan el delimitador.
output-delimiter=cadena
Usa cadena como delimitador de salida en vez del delimitador de la entrada.
Ejemplos
Muestra los campos 1, 3 y 7 del fichero /etc/passwd
...
Uso de tuberas. Muestra el nombre de usuario, el UID y el shell del usuario ivan. Sustituye
el delimitador : por un espacio.
wc
Muestra el nmero de lneas, palabras, caracteres y/o bytes de los ficheros que se le
indiquen, o el tamao de la lnea ms larga.
Sintaxis:
wc [opciones] fichero/s
Opciones:
-c|bytes
Muestra el nmero de bytes
-m|chars
Muestra el nmero de caracteres
-l|lines
Muestra el nmero de lneas.
-w|words
Muestra el nmero de palabras.
-L|max-line-length
Muestra el tamao de la lnea ms larga del fichero
Ejemplos
Nmero de lneas y de palabras del fichero /etc/passwd
$ wc -l -w /etc/passwd
41
67 /etc/passwd
Utilizando tuberas. Nmero de usuarios del sistema que utilizan /bin/bash como shell:
sort
Muestra en orden ascendente, descendente o numrico el contenido de los ficheros que se
les pasa como argumentos.
Sintaxis:
sort [opciones] [fichero/s]
Opciones:
-c|check
Comprueba que el fichero est ordenado, pero no lo ordena. Si no est ordenando te
muestra un mensaje mostrando la primera lnea que est fuera de orden.
-r|reverse
Ordena en sentido inverso.
-n|numeric
Ordena por orden numrico en lugar de alfabtico que es la opcin por defecto.
-u|unique
Elimina las lneas repetidas
Ejemplos
Muestra el fichero /etc/passwd en orden inverso
$ sort -r /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
user:x:1001:1001:user,,,:/home/user:/bin/bash
usbmux:x:107:46:usbmux daemon,,,:/home/usbmux:/bin/false
sys:x:3:3:sys:/dev:/bin/sh
Utilizando tuberas. Muestra por orden numrico el UID, el GID y el shell de la informacin
contenida en /etc/passwd
4:65534:/bin
5:60:/usr/games
6:12:/var/cache/man
7:7:/var/spool/lpd
8:8:/var/mail
9:9:/var/spool/news
10:10:/var/spool/uucp
13:13:/bin
33:33:/var/www
34:34:/var/backups
38:38:/var/list
39:39:/var/run/ircd
41:41:/var/lib/gnats
100:101:/var/lib/libuuid
101:103:/home/syslog
102:105:/var/lib/colord
103:107:/var/run/dbus
104:108:/var/lib/lightdm
105:112:/var/lib/avahi-autoipd
106:113:/var/run/avahi-daemon
107:46:/home/usbmux
108:65534:/
109:119:/var/run/pulse
110:122:/proc
111:29:/var/run/speech-dispatcher
112:7:/var/run/hplip
113:123:/home/saned
114:126:/var/lib/couchdb
115:65534:/var/run/sshd
116:127:/var/cache/bind
117:128:/nonexistent
118:129:/var/lib/gdm
119:130:/home/ntp
120:131:/var/lib/clamav
1000:1000:/home/ivan
1001:1001:/home/user
65534:65534:/nonexistent
tr
El comando tr dado un flujo de datos (entrada estndar) nos permite modificarlos
sustituyendo y/o borrando carcteres. tr [OPCIN] SET1 [SET2]
Sintaxis:
tr [OPCIN] SET1 [SET2]
Opciones:
$ ls -l | tr -s " "
total 42996
-rw-r--r-- 1 ivan users 221623 oct 26 22:31 143354-AdwaitaWolfeV4.tar.gz
-rw-r--r-- 1 ivan users 128 ago 25 16:05 AUTHORS
-rw-r--r-- 1 ivan users 1138 nov 16 13:32 ChangeLog
...