Selecciona el Idioma

martes, 11 de junio de 2013

REDIRECCIONAMIENTO Y FILTROS

Pipe (“tubería”, canonada)

Permite enlazar la salida de un programa a la entrada de otro .

Exe: ls *|more ls *|less cat f1|sort

Redireccionamiento de la salida

> Crea un archivo nuevo

 >> añade información al final de un archivo ya existente.Si no existe lo crea.

 Ex: echo 1 2 3 4 > lista.txt echo “final del archivo”>>lista.txt lls>salida.txt

lls > archivo.txt El mensaje de error va al archivo.

tee

Lee información de la entrada estándard y la escribe en la salida estándard y en 1 o varios archivos.

tee -a: añade al final

Ex: Teniendo la siguiente pipe “cmd1|cmd2|cmd3>f1” y queriendo saber cual es la salida del primer comando:

cmd1|tee f1|cmd2|cmd3>f2 Ex: echo “Hola”|tee f1 (muestra “Hola” por pantalla y lo guarda en f1)

Cat f1|sort|tee f2 (guarda en f2 y muestra por pantalla el archivo f1 ordenado)

cut

Imprime las columnas o campos indicados de uno o varios archivos.

-d delim: indica el delimitador

-f list: indica la fila

-c list: indica los carácteres en columna

Ex: cut –d: -f1 /etc/passwd

 Muestra los nombres de usuario del archivo passwd :

cut –d: -f1,5 /etc/passwd

 Muestra los nombres de usuario y descripción del archivo passwd :

cut –c1 /etc/passwd

 Muestra la 1ra columna (1 caràcter) :

cut –c1,2,3 /etc/passwd

 Muestra las tres primeras columnes (tres caràcters)


OTROS CASOS:

head imprime las primeras línies de un archivo:

 -n n: n primeras líneas
 -c n: primeros n bytes o kylobytes (5k) o megabytes (5m)  
• nl numera les líneas de cada página  
• od muestra el contenido de los archivos en varios formatos
 -t type: indica el formato de salida (A: caràcter, c: ASCII, O: octal, x: hexadecimal)  
• paste junta líneas de uno o más archivos en columnas vertical 
-d ‘n’ separa las columnas con el carácter ‘n’ en vez del carácter por defecto.
 tab -s: junta las líneas de los archivos en líneas en vez de columnas (1 línia per fitxer) .


 
split:
 Divide el archivo de entrada en grupos de un determinado número de líneas y guarda el resultado en varios archivos
 -n : divide en grupos de n líneas:
 split –n 10 fin fout 

 Fin quedara partido en archivos de 10 líneas fouta foutb foutc... (si fin se perdiera podríamos recuperar-lo haciendo: cat fouta foutb foutc>fin) 

tac: muetra las líneas de un archivo en orden inverso.

tail

 Muestra las últimas líneas del archivo -n .
-m: muestra las m últimes líneas.
 -f: el archivo se actualiza continuamente, por ejemplo archivos de log . 
tr tr [options] [string1] [string2] Reemplaza los caracteres de “string1” por “string2” 
-d elimina “string1” de la salida
 -s junta caracteres repetidos
 Ex:  cat f1|tr a-z A-Z  tr a-z A-Z

wc

 Imprime el número de caracteres, palabras y líneas de los archivos indicados 
-c: caràcters -l: línies -w: paraules 
Ex: Mostrar els comptadors de f1, f2 i f3  wc f[123] 
  

grep

 Busca en archivos .
 -c: solo el número de les líneas
 -h: no incluye el nombre del archivos cuando buscamos en diferentes archivos
 -i: case-sensitive -n: muestra el número de las líneas 
-v: las líneas que no contienen la expresión.
 Ex:  grep –i linux f1 
 Busca en f1 la palabra “linux” sin discriminar entre mayúsculas y minúsculas 
grep ‘^linux’ f1.
 Muestra las líneas de f1 donde sale linux a principio de la línea :
grep ‘x$’ f1 
 muestra las líneas de f1 que acaban con ‘x’
 grep –c ‘^$’ f1 
 muestra el numero de líneas vacías en f1 grep ‘^null$’ f1 
 muestra las líneas de f1 que solo contienen la palabra ‘null’. 
grep ‘[0-9][0-9][0-9]’ f1 
 muestra las líneas de f1 que contienen 3 dígitos seguidos 
grep ‘.....’ f1 
 muestra las líneas con más de 5 caracteres 
grep ‘.’ f1 
 muestra las líneas que no estan en blanco  .

find

 find [directorio] [expresión] Recorre una jerarquía de directorios buscando archivos seleccionados según  un criterio.
Ex: find / -print 
 muestra la ruta por pantalla los directorios y archivos del disco
 find / -type f -print 
 muestra la ruta por pantalla los archivos del disco
find / -type d -print 
 muestra la ruta por pantalla los directorios del disco
 find / -atime +30 -print 
 muestra ficheros  y directorios con más de 30 días de antigüedad
 find /usr/local –name ‘*.texi’ 
 Busca en el directorio /usr/local los archivos  *.texi find /usr/src –name 
‘*.c’ –size +100k -print 
 Busca archivos .c de más de 100k 

find ./PDF ./red –iname ‘*.pdf’ 
 Busca archivos pdf en mayúsculas o minúsculas en los directorios 
PDF i red
 find /home –user ali 
 Busca los archivos en /home propiedad del usuario ali 
find /home –uid 1014 
Busca los archivos en /home amb uid 1014 find . ! –iname ‘*a*’ –iname ‘*.jpg’
Devuelve archivos jpg que no contienen ninguna ‘a’.

No hay comentarios:

Publicar un comentario