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-Zwc
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