El presente artículo
se da porque en el tiempo que llevo trabajando en TI he dado con un par de
entrevistas de trabajo que han preguntado exactamente esto… Como hago yo para
encontrar o filtrar entre tanto fichero o carpeta, los elementos que
pertenezcan a un determinado día o que comiencen con determinado número o
determinada letra dentro de la terminal Linux?
Esta solo pretende ser una
guía práctica que busca puntualmente este propósito, ¿Cómo realizar estos
filtrados entre bastantes y determinados archivos?
En primer lugar la
manipulación se puede dar con operaciones como copiar (cp), mover (mv),
eliminar (rm), listar archivos (ls), etc… Para este caso práctico me limitare a
hacer estos ejercicios listando (ls).
Entonces y en primer
lugar, tenemos el listado para hacer la manipulación de patrones, como ejemplo
he escogido la carpeta de configuraciones “etc”, esto porque tiene bastantes
elementos con los cuales se podrá realizar el ejercicio (sobra decir que este
proceso se puede realizar desde cualquier punto del sistema de ficheros).
Ahora las opciones que
tenemos para hacer los filtrados.
EJEMPLOS PRACTICOS
1.
Punto (*.)
y extensión de formato (*.txt, *.biz, *.conf, *.xls, etc, etc, etc…). Entre el
listado dispuesto en la imagen, se desea filtrar todo lo que tenga extensión
“.conf”. El carácter (*) significa que nos traerá cualquier cadena que pueda
ser (esto incluso se aplica en Windows cuando se busca un archivo), lo que
quiere decir que nos traerá cualquier cosa que tenga esa extensión que deseamos
filtrar. Ejemplo práctico:
Si
deseáramos eliminar todos estos archivos discriminando únicamente la extensión,
su forma seria (rm –rf *.conf), obviamente es un ejemplo, estos archivos son
necesarios para el funcionamiento del sistema.
1.
Si dentro
del gran listado inicial, queremos traer los archivos que tengan dentro de su
nombre las letras “gal”, como “legal”, tendríamos que poner las letras de
búsquedas entre asteriscos, como en el siguiente ejemplo:
Dentro
de todos los archivos en la carpeta “/etc” nos trajo únicamente la palabra
“legal”.
¿Para
qué sirve esto?
Imagínese
en una empresa que genera automáticamente archivos con registros diarios en uno
de sus servidores UNIX en su centro de cómputo. Y le piden a usted que encuentre
todos los archivos que se generaron el 20 de febrero del 2013 (ejemplo) y se
encuentra usted perdido entre miles o hasta millones de ficheros. Aplicando
este filtro podría ganar una aproximación, esto dependerá obviamente en la
forma que se genera el nombre de dichos archivos en el sistema.
1.
Ahora se
requieren encontrar archivos con cadenas de texto inconclusas, en las que por
ejemplo se requiera filtrar cadenas de caracteres con uno de estos caracteres
faltantes al principio, medio, final o cualquier posición. Este filtro se logra
con el comodín “?”, el cual podría remplazar cualquier carácter dentro de la
cadena. La mejor forma de explicarlo es con un sencillo ejemplo:
En
este ejemplo se hace prueba con un comodín, luego con dos, generando los mismos
resultados. De momento no he tenido un caso práctico de uso para este tipo de
filtrado.
Ahora
tendremos que realizar un filtrado por patrón. Es decir, que todos los archivos
cuya cadena de caracteres comience con “up” deberán ser filtrados y mostrados
con el procedimiento. Esto se logra con el paréntesis cuadrado y asterisco
“[]*”. Ejemplo: Dada una carpeta de repositorios de imágenes de equipos de
cómputo, se deberá buscar solo aquellas imágenes que sean para los equipos de
la marca HP.
Filtrando:
Si por ejemplo
queremos ver las imágenes para los equipos Compaq:
Y si por ejemplo
queremos filtrar todas las imágenes de equipos, menos que de las imágenes que
sean para los equipos HP:
En este caso, la
sintaxis del filtro indica que, mostrar filtro de todas las imágenes, menos de
las imágenes que comiencen con HP, por medio del símbolo “!”, el cual denota un
diferenciador al resto de los demás archivos o carpetas.
Estos procesos,
información y conocimiento no son nuevos y es la forma en la que se ha venido
trabajando siempre, en especial en lugares que manejan grandes cantidades datos
sobre servidores o sistemas operativos que tengan como base UNIX, aunque
perfectamente se puede practicar sobre Linux. Esto como tal fue una práctica,
se le recomienda al lector indagar más en el tema y sobre todo practicar.
Referencias:
Lopez
Sanches, M.J & Belle, S., & Auli, F. (2008). Sistema operativo GNU/Linux básico, ES: Universitat
Oberta de Catalunya, Recuperado de http://hdl.handle.net/10609/189
No hay comentarios:
Publicar un comentario