Más contenido relacionado Filtrado con grep y cut2. Ejemplo de fichero passwd:
Aragorn:x:1005:1005:Aragorn,,,:/home/Aragorn:/bin/sh
Boromir:x:1006:1006:Boromir,,,:/home/Boromir:/bin/bash
Gandalf:x:1007:1007:Gandalf,,,:/home/Gandalf:/bin/sh
Bilbo:x:1008:1008:Bilbo,,,:/home/Bilbo:/bin/bash
Faramir:x:1009:1009:Faramir,,,:/home/Faramir:/bin/csh
Frodo:x:1010:1010:Frodo,,,:/home/Frodo:/bin/bash
Legolas:x:1011:1011:Legolas,,,:/home/Legolas:/bin/sh
Sauron:x:1012:1012:Sauron,,,:/home/Sauron:/bin/sh
Aunque no lo parezca este fichero es una tabla de datos,
aunque en formato texto.
Suelen usarse en servidores que no admiten gestores de
bases de datos como MySQL.
Veamos como podemos apreciar la tabla.
3. Aragorn:x:1005:1005:Aragorn,,,:/home/Aragorn:/bin/sh
Boromir:x:1006:1006:Boromir,,,:/home/Boromir:/bin/bash
Gandalf:x:1007:1007:Gandalf,,,:/home/Gandalf:/bin/sh
Bilbo:x:1008:1008:Bilbo,,,:/home/Bilbo:/bin/bash
Faramir:x:1009:1009:Faramir,,,:/home/Faramir:/bin/csh
Frodo:x:1010:1010:Frodo,,,:/home/Frodo:/bin/bash
Legolas:x:1011:1011:Legolas,,,:/home/Legolas:/bin/sh
Sauron:x:1012:1012:Sauron,,,:/home/Sauron:/bin/sh
Registros, filas o tuplas
Serán cada una de las líneas que forman el fichero.
El final de cada línea será marcado por un INTRO o
salto de línea.
4. Aragorn:x:1005:1005:Aragorn,,,:/home/Aragorn:/bin/sh
Boromir:x:1006:1006:Boromir,,,:/home/Boromir:/bin/bash
Gandalf:x:1007:1007:Gandalf,,,:/home/Gandalf:/bin/sh
Bilbo:x:1008:1008:Bilbo,,,:/home/Bilbo:/bin/bash
Faramir:x:1009:1009:Faramir,,,:/home/Faramir:/bin/csh
Frodo:x:1010:1010:Frodo,,,:/home/Frodo:/bin/bash
Legolas:x:1011:1011:Legolas,,,:/home/Legolas:/bin/sh
Sauron:x:1012:1012:Sauron,,,:/home/Sauron:/bin/sh
Campos o columnas (1)
Aragorn:x:1005:1005:Aragorn,,,:/home/Aragorn:/bin/sh
Boromir:x:1006:1006:Boromir,,,:/home/Boromir:/bin/bash
Gandalf:x:1007:1007:Gandalf,,,:/home/Gandalf:/bin/sh
Bilbo:x:1008:1008:Bilbo,,,:/home/Bilbo:/bin/bash
Faramir:x:1009:1009:Faramir,,,:/home/Faramir:/bin/csh
Frodo:x:1010:1010:Frodo,,,:/home/Frodo:/bin/bash
Legolas:x:1011:1011:Legolas,,,:/home/Legolas:/bin/sh
Sauron:x:1012:1012:Sauron,,,:/home/Sauron:/bin/sh
Para apreciar los campos o columnas de la tabla tendremos que
localizar el carácter separador.
En nuestro caso, dicho carácter es < : >
Dicho carácter vendría a ser como la línea vertical que separa los
campos de la tabla.
5. Campos o columnas (2)
Aragorn : x : 1005 : 1005 : Aragorn,,, : /home/Aragorn : /bin/sh
Boromir : x : 1006 : 1006 : Boromir,,, : /home/Boromir : /bin/bash
Gandalf : x : 1007 : 1007 : Gandalf,,, : /home/Gandalf : /bin/sh
Bilbo : x : 1008 : 1008 : Bilbo,,, : /home/Bilbo : /bin/bash
Faramir : x : 1009 : 1009 : Faramir,,, : /home/Faramir : /bin/csh
Frodo : x : 1010 : 1010 : Frodo,,, : /home/Frodo : /bin/bash
Legolas : x : 1011 : 1011 : Legolas,,, : /home/Legolas : /bin/sh
Sauron : x : 1012 : 1012 : Sauron,,, : /home/Sauron : /bin/sh
Podemos verlo mejor separando un poco los campos e igualando sus
espacios:
6. Filtrado por filas (grep)
Aragorn : x : 1005 : 1005 : Aragorn,,, : /home/Aragorn : /bin/sh
Boromir : x : 1006 : 1006 : Boromir,,, : /home/Boromir : /bin/bash
Gandalf : x : 1007 : 1007 : Gandalf,,, : /home/Gandalf : /bin/sh
Bilbo : x : 1008 : 1008 : Bilbo,,, : /home/Bilbo : /bin/bash
Faramir : x : 1009 : 1009 : Faramir,,, : /home/Faramir : /bin/csh
Frodo : x : 1010 : 1010 : Frodo,,, : /home/Frodo : /bin/bash
Legolas : x : 1011 : 1011 : Legolas,,, : /home/Legolas : /bin/sh
Sauron : x : 1012 : 1012 : Sauron,,, : /home/Sauron : /bin/sh
grep “csh” /etc/passwd
grep 101[12] /etc/passwd
grep –v ^B /etc/passwd
7. Filtrado por columnas (cut)
Aragorn : x : 1005 : 1005 : Aragorn,,, : /home/Aragorn : /bin/sh
Boromir : x : 1006 : 1006 : Boromir,,, : /home/Boromir : /bin/bash
Gandalf : x : 1007 : 1007 : Gandalf,,, : /home/Gandalf : /bin/sh
Bilbo : x : 1008 : 1008 : Bilbo,,, : /home/Bilbo : /bin/bash
Faramir : x : 1009 : 1009 : Faramir,,, : /home/Faramir : /bin/csh
Frodo : x : 1010 : 1010 : Frodo,,, : /home/Frodo : /bin/bash
Legolas : x : 1011 : 1011 : Legolas,,, : /home/Legolas : /bin/sh
Sauron : x : 1012 : 1012 : Sauron,,, : /home/Sauron : /bin/sh
cut -d: -f1 /etc/passwd
cut -d: -f3,4 /etc/passwd
cut -d: -f5,7 /etc/passwd
8. Filtrado por filas y columnas ( grep y cut )
Aragorn : x : 1005 : 1005 : Aragorn,,, : /home/Aragorn : /bin/sh
Boromir : x : 1006 : 1006 : Boromir,,, : /home/Boromir : /bin/bash
Gandalf : x : 1007 : 1007 : Gandalf,,, : /home/Gandalf : /bin/sh
Bilbo : x : 1008 : 1008 : Bilbo,,, : /home/Bilbo : /bin/bash
Faramir : x : 1009 : 1009 : Faramir,,, : /home/Faramir : /bin/csh
Frodo : x : 1010 : 1010 : Frodo,,, : /home/Frodo : /bin/bash
Legolas : x : 1011 : 1011 : Legolas,,, : /home/Legolas : /bin/sh
Sauron : x : 1012 : 1012 : Sauron,,, : /home/Sauron : /bin/sh
grep ^F /etc/passwd | cut -d: -f1
grep 10[01][90] /etc/passwd | cut -d: -f6,7
cut -d: -f5,7 /etc/passwd | grep –v ^[A-M]