Red Hat Linux 7.1: Official Red Hat Linux Getting Started Guide | ||
---|---|---|
Anterior | Capítulo 10. El indicador de comandos de la shell | Siguiente |
Ya conoce algunos comandos básicos del indicador de comandos de la shell para la lectura de ficheros por los editores de texto. Aquí tiene algunos más.
Puede utilizar el comando head en caso de que desee ir al inicio de un fichero. El comando es:
head <filename> |
Head puede ser muy útil, pero como está limitado a las primeras líneas, no podrá ver la largura del fichero. Por defecto, sólo puede leer las primeras diez líneas de un fichero, aunque puede cambiar este número especificándolo, como en el comando a continuación:
head -20 <filename> |
El contrario de head es tail. Usando tail, puede volver a ver las diez últimas líneas de un fichero.
El comando grep command es útil para encontrar un carácter específico en un fichero. Por ejemplo, si quiere encontrar cada referencia que se haya hecho a "coffee" en el fichero sneakers.txt, tecleará:
grep coffee sneakers.txt |
Verá cada una de las líneas donde aparece la palabra "coffee".
Recuerde la mayúsculas y las minúsculas | |
---|---|
A menos que lo especifique, grep es sensible a mayúsculas y minúsculas. Lo cual significa que Coffee no es lo mismo que coffee. Entre las opciones de grep está -i, que le permite hace un búsqueda insensible a mayúsculas y minúsculas a través de un fichero. Lea la página de manual grep para más información sobre este comando. |
Puede usar la reorientación de la salida y de pipes cuando desee guardar y/o imprimir la información que ha leído últimamente.
Por ejemplo, puede usar grep para buscar contenidos específicos de un fichero y posteriormente guardar estos resultados como un fichero o imprimirlos.
Para imprimir la información sobre todas las referencias a "coffee" en sneakers.txt, teclee:
grep coffee sneakers.txt | lpr |
¿Qué sucede si olvida el nombre de un fichero que está buscando? Mediante el uso de caracteres de sustitutción o expresiones regulares, puede ejecutar acciones en un fichero o ficheros sin saber el nombre de fichero completo. Rellene lo que sabe y sustituya lo restante con un comodín.
Información adicional sobre comodines y expresiones regulares | |
---|---|
Para obtener más información sobre comodines y expresiones regulares, vea la página de manual de bash (man bash). Recuerde que puede guardar el fichero como fichero de texto, tecleando man bash | col -b > bash.txt. Podrá abrir y leer el archivo con less o pico (pico bash.txt). Si desea imprimir el fichero, sepa que es bastante largo. |
Sabemos que el archivo se llama "sneak____.txt," teclee:
ls sneak*.txt |
y obtendrá el nombre del fichero:
sneakers.txt |
Probablemente utilice el asterisco (*) que es más frecuente para la búsqueda. El asterisco buscará todo lo que coincida con la estructura que está buscando. Incluso si teclea:
ls *.txt |
o:
ls sn* |
Encontrará sneakers.txt y cualquier otro fichero cuyo nombre empiece por "sn." Le ayuda a ampliar su búsqueda lo máximo posible.
Un modo de ensanchar la búsqueda es usando el signo de interrogación (?). Como el asterisco, el uso de ? le puede ayudar a localizar un archivo mediante la búsqueda de estructuras que coincidan.
En este caso, ? es útil para un sólo carácter, de manera que si estaba buscando sneaker?.txt, obtendrá sneakers.txt como resultado, y/o sneakerz.txt si existiera este nombre de fichero.
Cuando un asterisco forma parte de un nombre de archivo, como puede ser el caso del fichero sneakers.txt si se llamara sneak*.txt, es el momento de usar expresiones regulares.
Las expresiones regulares son más complejas que el asterisco o el signo de interrogación.
Utilizando el símbolo (\), puede especificar que no desea buscar todo mediante el uso de asterisco, sino que desea buscar un fichero con un asterisco en el nombre.
si el fichero se llama sneak*.txt, escriba:
sneak\*.txt |
Aquí tiene una breve lista de comodines y expresiones regulares:
* — Hace coincidir todos los caracteres
? — Hace coincidir un carácter en una cadena ( como sneaker?.txt)
\* — Hace coincidir el carácter *
\? — Hace coincidir el carácter ?
\) — Hace coincidir el carácter )