No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Wildcards

7/23
Recursos

Las wildcards o comodines son una serie de caracteres especiales que nos permiten encontrar patrones o realizar b煤squedas m谩s avanzadas. Es aplicable para archivos y directorios.

Las wildcards te sirven para realizar seccionamiento de archivos o directorios, ademas de ls los wildcards tambien pueden usarse con cualquier comando que realice la manipulaci贸n de archivos como mv, cp y rm.

Tipos de wildcards

Buscar todo (*)

El asterisco te ayuda a buscar toda la informaci贸n dentro de una carpeta, pero puedes limitar su uso. Si por ejemplo quieres buscar los archivos que tengan una extensi贸n 鈥.png鈥, escribes:

ls -l *.png
image.png

Tambi茅n lo puedes poner al final, si quisieras buscar, todos los archivos que comiencen por unos caracteres espec铆ficos, entonces escribes esos caracteres y luego el asterisco.

Por ejemplo, si quisieras buscar todos los archivos que comiencen por 鈥渇otosDe鈥, habr铆a que escribir:

ls -l fotoDe*
image.png

Buscar por cantidad de caracteres (?)

Si dentro de tus archivos tuvieras una especie de c贸digo para guardar tus fotos, algo as铆 como 鈥渇oto1.png鈥, 鈥渇oto2.png鈥, 鈥渇oto3.png鈥, etc. En este caso, sabemos que primero tenemos el string 鈥渇oto鈥, luego un solo n煤mero y por 煤ltimo la extensi贸n 鈥.png鈥.

Si quisieras buscar esas fotos escribir铆as:

ls -l foto?.png
image.png

Aqu铆 est谩s indicando:

  • Busca todo lo que comience por la cadena de caracteres 鈥渇oto鈥
  • Que inmediatamente despu茅s tenga un solo caracter
  • Y que al final tenga la cadena de caracteres 鈥.png鈥

Pero si sabes que no tiene un solo caracter, sino que tiene varios, entonces escribes tantos signos de interrogaci贸n como caracteres existan. Por ejemplo, si quieres buscar las fotos que tengan esta estructura 鈥渇oto11.jpg鈥, escribes:

ls -l foto??.jpg
image.png

Tambi茅n puedes combinar wildcards. Por ejemplo, si sabes que tus fotos siguen esta especie de c贸digo, pero no sabes que extensi贸n tienen, escribes:

ls -l foto?.*
image.png

Aqu铆 est谩s indicando:

  • Busca todo lo que comience por 鈥渇oto鈥
  • Que inmediatamente despu茅s tenga un solo caracter
  • Y que tenga lo que sea despu茅s del punto

Buscar por caracteres espec铆ficos ([])

Si quieres buscar por varios caracteres espec铆ficos se usan corchetes. Para utilizarlos tienes que colocar dentro de los corchetes los caracteres que quieres buscar.

Por ejemplo, si quisieras buscar los archivos que comiencen por las letras 鈥渃鈥 o 鈥渋鈥, entonces escribes:

ls -l [ci]*
image.png

Lo que indica el comando es que busque los archivos que comiencen por la letra 鈥渃鈥 o por la letra 鈥渋鈥 y que tengan lo que sea por delante. Cuando buscamos con esta wildcard ten en cuenta que es case sensitive, por lo que la letra 鈥渋鈥 no es lo mismo que la letra 鈥淚鈥.

ls -l [cCiI]*
image.png

Por 煤ltimo, si quieres buscar por rango de n煤meros tambi茅n tienes que usar esta wildcard. Para hacerlo, escribe el rango de n煤meros que quieres buscar separados por un guion.

ls -l foto[2-6]*
image.png

Lo que indica ese comando es:

  • Busca todo lo que comience por la cadena de texto 鈥渇oto鈥
  • Que justo despu茅s tenga un n煤mero entre el 2 y el 6
  • Y que tenga lo que sea por delante.

Tabla de wildcards

Wildcard Funci贸n
* Busca todo
? Busca por cantidad de caracteres
[] Busca por caracteres espec铆ficos

Contribuci贸n creada con los aportes de: Miguel Gonzalez, Maximiliano Nahuelanca y Brayan Alexis Lechon

Aportes 542

Preguntas 88

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Las wildcards nos sirven para realizar seccionamiento de archivos o directorios, ademas de ls los wildcards tambien pueden usarse con cualquier comando que realize la manipulacion de archivos como mv, cp y rm. En este ejemplo yo movi todos los archivo .py hacia una carpeta

la verdad si es un superpoder 馃槂

Para buscar por n煤meros podemos usar

[:alnum:]
[:digit:]

Algo importante a aclarar es que el asterisco * significa cualquier STRING o cadena de texto, entonces si ponemos ls *.txt cualquier archivo .txt se listar谩.
.
Y el signo de interrogaci贸n ? significa que ese 煤ltimo dato puede ser cualquier arbitrario, pero s贸lo ese 煤ltimo.
.

Entonces en resumen, el * se expande de 0 a m谩s caracteres, mientras que ? expande a uno exactamente.

Clases dentro de los Wildcards:

  • [:alnum:] Coincide con cualquier car谩cter alfanum茅rico
  • [:alpha:] Coincide con cualquier car谩cter alfab茅tico
  • [:digit:] Coincide con cualquier n煤mero
  • [:lower:] Coincide con cualquier letra min煤scula
  • [:upper:] Coincide con cualquier letra may煤scula

Wildcard

馃挕Alternativamente llamado como wild character o wildcard character.
.
Definici贸n

Son un s铆mbolo usado para remplazar o representar uno m谩s caracteres donde com煤nmente se utiliza el * .

.
Tipos de wildcards

  • % - Usado en SQL para relacionar m谩s de un caracteres 0 o m谩s veces.
  • * - Relaciona cualquier car谩cter 0 o m谩s veces.
  • ? - Para relacionar un caracter una vez.
  • [ ] - Realizamos relaciones a trav茅s de expresiones regular.

Cabe mencionar que los wildcard, pueden ser utilizar como prefijo o postfijo:

# prefijo
dir *.mp3
# postfijo
dir main.*

Para no tener que escribir el comando completo, simplemente ejecuto el alias.
Si quieren que el alias permanezca en la terminal y no se pierda cuando la cierren pueden guardar los alias al final del archivo que se encuentra en el home de cada pc llamado en el caso de bash es ~/.bashrc y despu茅s de guardarlo le das el comando source ~/.bashrc para que se apliquen los cambios.

Tengo bastantes alias para poder hacer mucho m谩s r谩pido mis tareas, estos son algunos de los que uso:

# aliases
alias c="clear"
alias s="cd .."
alias sgit='f(){ git add "$1"; git commit -m "$2"; git push; unset -f f; }; f'
alias gs="git status"
alias ch="chmod +100"
alias g="gcc -Wall -Wextra -Werror -pedantic"
alias p="pep8 *.py"
alias server1="ssh [email protected] '$1'"
alias server2="ssh [email protected] '$1'"
alias LB="ssh [email protected] '$1'"
alias dock="sudo docker"

Notas 馃槃
Wildcards

  • Son una serie de caracteres especiales que nos permiten realizar b煤squedas muy avanzadas utilizando ls 馃攳. Puedes utilizar wildcards con otros comandos que realicen manipulaci贸n de archivos como mv, cp o rm 馃挮. Tambi茅n se conocen como comodines.
  • ls *<texto>: Nos muestra todos los archivos que tengan en su nombre dicho texto al final. Si haces ls <texto>* lo busca al final. El asterisco significa cualquier string.
  • ls <text>? El signo de interrogaci贸n sustituye a cualquier car谩cter, por ejemplo, buscamos todos los archivos que tengan una palabra y un n煤mero dado de caracteres despu茅s. El signo de interrogaci贸n significa cualquier car谩cter.
  • ls [[:upper:]]* Para filtrar cosas que inicien que una may煤scula; esto busca tambi茅n dentro de los directorios.
  • ls [[:lower:]]* Lo mismo pero con min煤sculas.
  • ls -d Se muestran solo directorios.
  • ls [ad]* Todo lo que inicie con a o con b

6. Wildcards

Les comparto mis apuntes sobre esta clase:

Vamos a aprender qu茅 son las wildcards,

  1. ls *.txt: Lo que hace este comando es listar todos los archivos que tengan extensi贸n .txt, independientemente del nombre que tengan.
  2. ls datos*: Lo que hace este comando es listar todos los archivos que inicien con la palabra 鈥渄atos鈥, independientemente de c贸mo siga el nombre o la extensi贸n que tenga.
  3. ls datos?: Lo que hace este comando es listar todos los archivos que inicien con la palabra 鈥渄atos鈥 y solamente tengan un caracter m谩s luego de esa palabra.
  4. ls datos???: Lo que hace este comando es listar todos los archivos que inicien con la palabra 鈥渄atos鈥 y solamente tengan tres caracteres m谩s luego de esa palabra.
  5. ls [[:upper:]]*: Lo que hace este comando es listar todos los archivos que inicien con una may煤scula, independientemente de c贸mo siga el nombre o la extensi贸n que tenga.
  6. ls -d [[:upper:]]*: Lo que hace este comando es listar todos los DIRECTORIOS que inicien con una may煤scula, independientemente de c贸mo siga el nombre que tenga.
  7. ls [[:lower:]]*: Lo que hace este comando es listar todos los DIRECTORIOS que inicien con una min煤scula, independientemente de c贸mo siga el nombre o la extensi贸n que tenga.
  8. ls [ad]*: Lo que hace este comando es listar todos los archivos que inicien con la letra 鈥渁鈥 o con la letra 鈥渄鈥, independientemente de c贸mo siga el nombre o la extensi贸n que tenga.

.
Algo bastante 煤til para hacer cuando trabajas en Windows y con WSL (yo lo hago toda la vida),

Cuando descargo im谩genes en windows y las quiero pasar a mi carpeta de proyecto, lo que hago es bajarlas en una carpeta en windows y luego las copio a mi repositorio que uso desde la terminal, 驴c贸mo hago?

Pues siempre he usado este truco con wildcards:

mv *.jpg ~/GithubPages/cardGame/

驴Qu茅 es lo que hace este comando?

Pues que copio todos los archivos que sean de extensi贸n png desde mi carpeta en el disco C hacia mi carpeta que uso dentro de WSL.

驴Por qu茅 no simplemente descargo directamente en la carpeta de usuario Linux desde Chrome/Firefox?

En realidad Windows s铆 te lo permite, PERO NO LO HAGAS, dos veces he tenido que formatear el disco completo por problema en el sistema de archivos por haber descargado desde Chrome hacia la carpeta dentro de Linux, no lo hagan, mal[isima idea, y m谩s bien pueden aprovechar el truco que compart铆 馃槂.

馃摝 Las wildcards o comodines nos permiten realizar b煤squedas m谩s avanzadas, es aplicable para archivos y directorios.

Aqu铆 esta una recopilaci贸n de todos mis aliases por si les quieres hechar un vistazo.

# aliases:

# git
alias g="git"
alias gst="git status"
alias gc="git clone"
alias gcm="git commit -m"
alias grc="git rm -r --cached"
alias gph="git push origin" 
alias config="/usr/bin/git --git-dir=$HOME/.config-files/ --work-tree=$HOME" # Turns my home in a git repo
alias ginit="git init;touch README.md; git add README.md;git commit -m 'first commit';git branch -M main"

# cd commands

alias ..="cd .."
alias ...="cd ../.."
alias 3..="cd ../../.."

# cp commands
alias cp="cp -r" # set cp to allways copy directories

# Development

alias p="python3"
alias cl="clear"
alias cdM="cd ~/MEGA/"
alias cdMG="cd ~/MEGA/my-git/github"
alias cdC="cd ~/.config/"
# installing packages

alias install="sudo pacman -S" # install any pagckage
alias search="pacman -Ss" # Search for a package
alias sync="pacman -Syy" # sync the repos
alias update="sudo pacman -Syu" # Update the system, but not AUR
alias onlyAUR="yay -Sua --noconfirm" # Update onlyAUR

# Other aliases 
# Emacs

alias em="/usr/bin/emacs -nw" # for terminal
alias emacs="emacsclient -c -a 'emacs'" # For an instance

# Aliases for Windows managers server
alias qtile_log="cd ~/.local/share/qtile; bat qtile.log"
alias qtile_server="Xephyr -br -ac -noreset -screen 1300x730 :1 & DISPLAY=:1 qtile"
alias awesome_server="Xephyr -br -ac -noreset -screen 1300x730 :1 & DISPLAY=:1 awesome ~/.config/awesome/rc.lua"


alias ls='exa -a --color=always --group-directories-first' # my preferred listing
alias la='exa -al --color=always --group-directories-first'  # all files and dirs
alias ll='exa -l --color=always --group-directories-first'  # long format
# alias lt='exa -aT --color=always --group-directories-first' # tree listing
alias l.='exa -a | egrep "^\."' 

Alias para ir al directorio de mi 谩rea de estudio en Platzi

#Desarrollo web Platzi
alias plat='cd /Users/~/Documents/Curso_Desarrollo_Web'
alias oplat='open /Users/~/Documents/Curso_Desarrollo_Web'


Para encontrar archivos o directorios con n煤meros tambi茅n se puede usar:

 ls *[0-9]*

Eso listara cualquier archivo que tenga un numero en el nombre

Aqu铆 hay m谩s usos 煤tiles para los wildcards

驴Han visto el meme de 鈥淓l sentido de la vida, el universo y todo lo dem谩s es 42鈥? su origen se explica con este tema:

Dentro de la tabla ASCII el 42 es el de * que equivale a una wildcard de cualquier cosa (alt/cmd + 42 = *).

Algo que aprendi y que me ahorro mucho timp a la hora de crear archivos en secuencia fue este truquito:

Se lo sabian?

馃挕 Encontr茅 este documento que muestra todas las posibles combinaciones cuando usamos el doble corchete (como el [[:lower:]]): Character Classes and Bracket Expressions

Hoy estaba practicando un poco mientras hac铆a mi web, y trataba de no usar el mouse para moverme, y mi hermana entra a mi habitaci贸n y ve que no toco el mouse para nada y me dice 鈥淓s hacker鈥 馃槀

Los wilcards no solo se pueden utilizar para el comando ls, lo puedes aplicar tambi茅n para el comando rm.
Ejemplo, tengo estos archivos; archivo1, archivo2, archivo3, etc, entonces para eliminar todos esos archivos, podr铆amos ejecutar el comando rm archivo*
Recuerden que siempre hay que tener cuidado con el comando rm.

Solo a mi me pasa que para buscar los archivos tengo que estar dentro de la carpeta que los contiene? Osea si estoy una carpeta 鈥渁tras鈥 me tira que no encontro ningun documento o directorio

Yo trabajo en WSL y un alias para mi 煤til es wh (Windows Home) porque as铆 voy r谩pidamente a mi home en Windows 馃榾

yo cree este alias que me sirve en mi dia a dia

alias buenosDias="sudo apt update && sudo apt upgrade -y && code ."

Para python me vendra bien alias avenv='source venv/bin/activate'

Yo tengo un alias como este

alias firewall1=鈥檚sh [email protected]127.0.0.1

Ya que necesito conectarme a algunos equipos y para evitar escribir los datos le doy un nombre facil de recordar.

Las wildcards o comodines son una serie de caracteres especiales que nos permiten encontrar patrones o realizar b煤squedas m谩s avanzadas, es aplicable para archivos y directorios. Se realiza con el comando ls

  • ls *.txt : Busca todas las coincidencias de archivos .segun su extension. En este caso .txt.

  • ls 鈥榥ombreArchivo鈥*: Busca todas las coincidencias de 鈥榥ombreArchivo鈥

  • ls 鈥榥ombreArchivo鈥?: Busca todos los 鈥榥ombreArchivo鈥 y solamente 1 car谩cter al final. Los signos de interrogacion representan los caracteres que queremos al final.

  • ls [[:upper:]]*: Filtra todos los archivos y directorios que incian con mayuscula y que tengan unas sucesion de caracteres.

  • ls [[:upper:]]*: Filtra todos los archivos y directorios que incian con minuscula y que tengan unas sucesion de caracteres.

  • ls -d : Busca solamente carpetas

  • ls [鈥榣etrasDeInicio麓]*: Nos busca los archivos que empiezen por las letras indicadas

Bueno, practiquemos =)

Con [:digit:] pude filtrar archivos que contuvieran numeros, y como no tenia ninguno que iniciara con algun digito, decidi filtrar en caso de que simplemente estuviera contenido en el nombre del archivo

No me juzguen, pero鈥

 alias xxx="google-chrome --new-window https://xvideos.com" 

Yo usando 鈥 y sin tener ninguna mayuscula en las carpetas, con raz贸n no sale nada 馃槄

ls -d [[:upper:]]*

Un detalle. Yo estoy en WSL y cuando ejecuto ls -d [[:upper:]] no es que con el flag -d me busque solo los directorios, sino que me busca (archivos y directorios) en el directorio actual sin bajar m谩s niveles, es decir, funciona igual que el ejemplo de ls -d [[:lower:]]

Comandos usados hasta ahora

鈻 ls : para mostrar la lista de archivos y directorios.
鈻 ls -l: Muestra m谩s informaci贸n de los archivos.
鈻 ls -lh: Muestra informaci贸n m谩s entendible para los humanos.
鈻 cd: Para cambiar de directorio.
鈻 clear: Para limpiar la consola o ctrl + l.
鈻 cd: Nos lleva al home directamente.
鈻 pwd: nos muestra la ruta donde estamos.
鈻 ctrl + shift + c: copiar texto de la terminal.
鈻 file nombre_del_archivo:  Para saber el tipo de archivo
鈻 ls -la: muestra todos los archivos incluyendo los ocultos.
鈻 ls -lS: Ordena los archivos por tama帽o
鈻 ls -lr: Los ordena al contrario del orden alfab茅tico
鈻 tree: Despliega todos los archivos como si fueran un 谩rbol.
鈻 tree -L (n煤mero de niveles en los que se quiere profundizar) 
鈻 mkdir: Crear un directorio, con comillas se puede crear un directorio con espacio
鈻 touch: crear un archivo 
鈻 cp nombre_del_archivo (nuevo nombre de la copia): Para copiar un archivo 
鈻 mv nombre_del_archivo .. : mover archivo al directorio anterior 
鈻 mv nombre_del_archivo renombre_del_archivo: Tambi茅n sirve para renombrar.
鈻 rm nombre_del_archivo: eliminar el archivo.
鈻 rm -(guion largo posiblemente) nombre_del_archivo: pregunta si de verdad se quiere eliminar el archivo.
鈻 rm -ri: nombre_del_directorio: Sirve para eliminar un directorio de forma interactiva.
鈻 rm -rf: Borrar sin importar las consecuencias.  
鈻 head nombre_del_archivo: Nos muestra las primeras 10 l铆neas de 茅ste
鈻 head nombre_del_archivo -n numero_de_lineas: muestra el n煤mero de l铆neas que quieras ver.
鈻 tail nombre_del_archivo: Muestra las ultimas 10 l铆neas 
鈻 tail nombre_del_archivo -n numero_de_lineas: muestra el n煤mero de las ultimas l铆neas que quieras ver.
鈻 less nombre_del_archivo: Muestra el archivos de forma m谩s din谩mica, adem谩s podemos utilizar el slash( / ) seguido de la palabra a buscar, para hacer b煤squedas dentro del archivo, para salir de la "interfaz" presionamos la letra "q".
鈻 open nombre_del_archivo: Abrir archivos solo para MAC
鈻 xdg-open: Para abrir archivos con un editor de texto predeterminado
鈻 Ctrl + c:  para terminar con cualquier proceso
鈻 type cualquier_comando: Nos muestra de que tipo es nuestro comando
鈻 alias alias ="comando_original": Se crea un apodo, sin贸nimo o alias del comando original solo ser谩n accedidos mientras no cierres la ventana de comandos.
鈻  comando --help: Sirve para pedir ayuda sobre los comandos
鈻 man comando: Hace referencia al manual de usuario de un comando.
鈻 info comando: Tambi茅n sirve para ver informaci贸n de un comando.
鈻 Whatis comando: Nos da una descripci贸n corta de lo que hace el comando aunque no funciona con todos los comando.

Wildcards

鈻 ls *.txt: Muestra todos los archivos que terminen en .txt
鈻 ls par谩metro* : Muestra todos los archivos que coincidan con el par谩metro buscado.
鈻 ls par谩metro? : Muestra los archivos que solo tengan un solo car谩cter despu茅s del par谩metro buscado, si se usan m谩s signos de interrogaci贸n buscara solo lo que coincidan con la b煤squeda, ejemplo: parametro??? Se traer谩 el par谩metro m谩s los siguientes tres caracteres que acompa帽en el nombre del archivo.
鈻 ls [[:upper:]]* : busca todos los archivos y directorios que comienzan may煤scula y tengan una sucesi贸n de caracteres.
鈻 ls -d [[:upper:]]* : busca solo los directorios que comienzan con may煤scula y tengan una sucesi贸n de caracteres.
鈻 ls [[:lower:]]* : busca todos los archivos y directorios que comienzan con min煤scula y tengan una sucesi贸n de caracteres.
鈻 ls -d [[:lower:]]* : busca solo los directorios que comienzan min煤scula y tengan una sucesi贸n de caracteres.
鈻 Ls [ad]* : Funciona para hacer una b煤squeda por caracteres muestra todos los archivos que comienzan con a con d en este caso.

Para la creacion de multiples archivos de forma recursiva pueden usar el siguiente comando :

touch name{1..6}.txt

Esto creara 6 archivos : name1.txt name2.txt etc鈥

A pesar de ser mi tercer curso de la terminal siempre hay algo mas por aprender

Este es mi trabajo haciendo un alias para mostrar 煤nicamente archivos de JavaScript.

Realizando el reto que comento el profesor de crear un Wildcard que buscara por n煤meros por ejemplo.

Realice otro donde pretend铆a buscar tras realizar una operaci贸n aritm茅tica.
Aunque si devolvi贸 algo no logro entender por que鈥

Filtrar archivos
ls *.txt->nos mostrar谩 archivos que tengan .txt o lo que coloquemos en lugar de .txt .
.
ls datos * ->la usamos cuando tiene los caracteres al principio.
.
Cuando utilizamos (" * ") hay dos formas (*nombre) este lo utilizamos cuando el archivo a buscar tiene un punto adelante(tipo .html .txt .js), el otro es para buscar nombre de archivos.
.
ls datos? -> busca los archivos que tengan ese nombre y solo un caracter al final.

Las wildcard no son expresiones regulares, son parecidas, pero no lo son.

Wildcards: buenas opciones de b煤squeda de archivos

Alias para buscar archivos que terminen con una extensi贸n relacionada con desarrollo web.

Mi alias para listar a 2 niveles jer谩rquicos en forma de 谩rbol 馃尦 馃槣:

.
.
.

Mi aporte:
Si quieres buscar archivos que tengan determinada cadena de caracteres en cualquier punto del nombre puedes hacerlo usando $ls *cadena*.

Mira este ejemplo donde listo todos los archivos que contengan Definitivo en su nombre:

alejandro@DESKTOP:~/personalProjects/carpeta$ ls
index.html  indexDefinitivo.html  libro.txt  texto.txt  textoDefinitivo.txt
alejandro@DESKTOP:~/personalProjects/carpeta$ ls *Definitivo*
indexDefinitivo.html  textoDefinitivo.txt

Saludos 馃槂.

Uso de Wilcards

ls -d [[:upper:]]: lista archivos y carpetas que inician con may煤scula
ls -d [[:lower:]]: lisa de comandos

ls [ad]*
Inciia con vocal

ls [鈥榥uevo_nombre鈥橾

馃槂
WILDCARDS
Son caracteres especiales que nos permiten encontrar patrones o hacer b煤squedas muchos m谩s avanzadas.
Este tipo de b煤squeda lo vamos a realizar con el comando ls
馃摌馃枊
Filtrar todos los archivos que terminen seg煤n el par谩metro que indiquemos

ls *.txt

Filtrar todos los que digan datos

ls datos*

Filtrar los que digan datos y tengan un car谩cter al final ( ? )

ls datos?

??? = nos indica 3 caracteres, puede ser modificada seg煤n tu busqueda
Filtrar todos los archivos que inicien con una (a 贸 d)

ls [ad]*

Hola este es mi reto lo que intente fue hacer los 2 retos a la ves para poder hacer la practica de una mejor manera.

  • Realice un alias para poder mover contenido num茅rico a mi directorio anterior con el uso de Wildcards para poder detectar ese contenido num茅rico

Aqu铆 el ejemplo :
alias mover="mv [[:digit:]]* .."
Lo que me permite es demostrar un uso adicional de estas no solo para buscar si no para poder ejecutar otras acciones como mover adem谩s del uso de esa clase para filtrar los contenidos con d铆gitos lo que har谩 es mover todos esos archivos num茅ricos a su carpeta anterior.

Experimentando un poco m谩s tambi茅n al usar un wildcard con ls puede mostrar coincidencias incluso dentro de carpetas 馃槷

Algunos de los wildcards m谩s utilizados son:

*** El asterisco **representa cualquier conjunto de caracteres de un nombre de archivo.

? La interrogaci贸n representa un solo car谩cter (sea el que sea),

**[ ] Los corchetes representan clases de caracteres. **Por ejemplo para buscar cualquier car谩cter que represente un d铆gito pondr铆amos [0-9]

**鈥 un gui贸n **indica un rango de caracteres.

**~ La virguilla **al principio de una palabra se traduce como el nombre de tu directorio home. Si le a帽ades el nombre de un usuario, se traduce como la ruta del directorio home de ese user.

Buscar archivos de texto

alias buscar_texto="ls *.txt"

La tabla de trucos para la linea de comandos que est谩 adjunta a esta clase es lo m谩ximo, recomiendo que se la descarguen, por ejemplo esta clase resumida se ve as铆.

Hola a todos!

Soluci贸n al ejercicio de como filtrar por n煤meros, tambien realize la combinaci贸n de 2 wildcards para hacer una b煤squeda 馃槃

Esto es para encontrar los archivos que posean alg煤n n煤mero. Colocando * al inicio y final, buscamos la coincidencia en cualquier elemento del archivo.

ls *[[:digit:]]*

Buscar todos los archivos HTML

$ alias htmlSearch = "ls *.html"

Son una serie de caracteres que nos permiten encontrar patrones o realizar b煤squedas mucho mas avanzadas. Estas se hacen con el comando 鈥渓s鈥. Un ejemplo podr铆a ser como si queremos encontrar todos los archivos que terminen en .txt, .html o que inicien con may煤scula.

ls *.txt

Este comando sirve para ver todos los archivos que terminen en .txt

ls datos*

Esto nos mostrara todos los documentos que empiecen con la palabra datos y despu茅s tengan cualquier car谩cter.

ls datos?

Nos mostrara todos los archivos que empiecen con la palabra datos y tengan UN SOLO CARACTER al final. Se pueden aumentar el numero de 鈥?鈥 para aumentar el numero de caracteres que buscamos en el archivo.

ls -d [[:upper:]]*

Esto nos mostrara todos los archivos que empiecen con una may煤scula (si queremos min煤scula podemos sustituir upper por lower) y tengan cualquier car谩cter en cualquier cantidad. La opci贸n 鈥-d鈥 es para solo ver DIRECTORIOS

ls [ad]*

Este comando nos muestra todos los ficheros o directorios que comienzan con una A o con una D y que les siga cualquier car谩cter

Para facilitar el acceso me cree un alias que me lleva al lugar donde estoy haciendo los ejercicios alias ejercicios="/mnt/c/Users/user/Desktop/PLATZI/" muy servicial la verdad

Esta pagina les puede servir para encontrar otros comandos de la terminal:
https://codingornot.com/04-shell-comandos-de-filtrado

Wildcard

Llamado tambien como聽wild character聽o聽wildcard character

Definici贸n

Son un s铆mbolo usado para remplazar o representar uno m谩s caracteres donde com煤nmente se utiliza el聽*聽.

.Tipos de wildcards

  • %聽- Usado en SQL para relacionar m谩s de un caracteres 0 o m谩s veces.
  • ``聽- Relaciona cualquier car谩cter 0 o m谩s veces.
  • ?聽- Para relacionar un caracter una vez.
  • [ ] [ ]聽- Realizamos relaciones a trav茅s de expresiones regular.

Cabe mencionar que los wildcard, pueden ser utilizar como prefijo o postfijo:

# prefijo
dir *.mp3
# postfijo
dir main.*

para crear nuevo alias: alias aliasname=鈥漜ommand鈥

alias platzi=cd

Trabajo para una empresa realizando mantenimiento e implementacion de un sistema web, en mi entorno dev algo tedioso siempre era levantar el sistema, porque si no me movia con cd hasta la carpeta bin de mi servidor de aplicaciones para ejecutar el sh, de todos modos debia hacer el execute poniendo toda la ruta, ahora gracias a este curso cree un alias que cada vez que quiera levantar para hacer mis pruebas solo lo ejecuto y funciona muy bien, me ahorra mucho tecleo ademas que siempre que me llega una laguna mental del path jajja

Como filtrar con d铆gitos? Podemos usar varias formas, yo probe con estas:

ls [[:alnum:]]_*
ls [[:alnum:]][_]*
ls [[:alnum:]]\_*
ls *[[:digit:]]*
ls *?[[:digit:]]*
ls *?[10]*

Un comando util, podria ser este que me devuelve solo los archivos y no directorios:

 ls *.[[:alpha:]][[:alpha:]][[:alpha:]]

Me recordo a SQL

Contar todos los archivos de Python dentro del directorio actual:

find . -name "*.py" | wc -l

Apenas pusiste * pens茅 en REGEX 馃槃

Mis apuntes
Las wildcards son una serie de patrones o caracteres especiales que nos permiten realizar b煤squedas avanzadas de archivos.
Podemos usarlos con diferentes comandos como: ls, mv, cp y rm.
Ejemplos:

  1. Filtrar archivos que terminen en una extensi贸n en particular.
    ls *.txt
  2. Filtrar archivos que contengan una palabra en espec铆fico.
    ls datos*
  3. Filtrar archivos que contengan n caracteres despu茅s de la palabra especificada.
    ls datos?(repetimos el ? n veces)
  4. Filtrar todos los archivos y directorios que inicien con una may煤scula.
    ls [[:upper:]]* Busca en todo el 谩rbol
    ls -d [[:upper:]]* Busca solo en el directorio actual
    ls [[:lower:]]* Busca en todo el 谩rbol
  5. Mostrar todos los archivos que comiencen con una a o d.
    ls [ad]*
  6. Filtrar archivos que coincide con cualquier car谩cter alfanum茅rico
    ls [:alnum:]*
  7. Filtrar archivos que coincide con cualquier car谩cter alfab茅tico
    ls [:alpha:]*
  8. Filtrar archivos que coincide con cualquier n煤mero
    ls [:digit:]*

Que son wildcards: son unas series de caracteres especiales que nos permiten encontrar patrones o realizar busquedas mucho m谩s avanzada ese tipo de busqueda lo vamos hacer con el comando ls

Usamos wildcards para detectara una serie de patr贸n, ejemplos: para encontar todos los elementos_ txt, html o que inicien con mayusculas_

Para qui茅n guste el ejemplo espec铆fico de esta clase es:

touch file.txt dot.txt dot2.txt index.html datos1 datos123 abc

Reto:

Solo me queda una duda:
驴Porqu茅 con la wildcard de digit me muestra el index.html?

Saludos

Wildcards
Serie de caracteres especiales que nos permiten establecer patrones de b煤squeda (acompa帽an al comando ls)

.
Wildcards usuales

    • 鈫 admiten cualquier caracter (o caracteres)
  • ? 鈫 admite cualquier caracter (solo uno, no vac铆o)
  • [<caracter>] 鈫 busca el caracter inidicado
  • [:upper:] 鈫 indica caracter de letra may煤scula
  • [:lower:] 鈫 indica caracter de letra min煤scula
  • [:alnum:] 鈫 indica caracter de tipo alfanum茅rico
  • [:digit:] 鈫 indica caracter de tipo num茅rico

.
Nota importante
Los wildcards indican coincidencia de acuerdo a la posici贸n en la que se coloque, ejemplo:

  • ls *a 鈫 busca los archivos que terminan en a
  • ls a* 鈫 busca los archivos que inician en a
  • ls a 鈫 busca los archivos que contienen la letra a

.
Nota

  • La opci贸n -d de ls permite listar s贸lo los directorios

Como aporte les dejo que se puede filtrar con wildcards por delante y detr谩s al mismo tiempo. De esta manera, filtramos (en este caso) todos los archivos o directorios que tengan una i en alg煤n lugar de su nombre.

Este es mi alias, cuando escribo js me muestra todos los archivos con esa extensi贸n:

Para solucionar el reto, cre茅 un alias para listar los archivos .py:

alias lspy="ls -lh *.py"

Ejemplo:

鉁匰oluci贸n al reto:
Cre茅 un alias para filtrar todos los png

Para filtrar por n煤meros:

  • Busca cualquier d铆gito:
ls *[0-9]*
ls *[[:digit:]]*
  • Busca un d铆gito espec铆fico dentro del nombre, por ejemplo, 4:
ls *[:4:]*
  • Busca un archivo llamado 鈥4鈥, espec铆ficamente:
ls [:4:]

Saludos

Las wildcars son caracteres especiales que nos ayudan a hacer b煤squedas m谩s avanzadas para encontrar archivos con cualquier comando que nos permita manipular o visualizar archivos o directorios, tales como ls, rm, cp o mv

Ver todo 鈥*鈥

Este wildcar nos permite acceder a todos los archivos que cumplan con cierto parametro como por ejemplo:

ls *.txt

Este comando nos permite acceder a todos los archivos que tengan 鈥渢xt鈥 independientemente del nombre del archivo

ls info.*

Este comando nos permite acceder a todos los achivos que se llamen 鈥渋nfo鈥 independientemente de la extension del archivo

?

Este wildcar permite acceder a archivos dependiendo del numero de 鈥?鈥, que son los digitos desconocidos que tiene

rm archivos??.*

Este comando me permitira remover archivos que aparte del nombre archivos tengan otros dos digitos como 鈥渁rchivos10鈥 o 鈥渁rchivos73鈥 y que aparte sea de cualquier tipo de extencion

[]

Permite hacer diferentes tipos de busqueda

ls [[:upper:]] or [[:lower:]].txt

Te permitira acceder a los archivos que comienzen con mayuscula o minuscula y que sean de extension 鈥渢xt鈥

ls [asb]*

Te permitira acceder a archivos que empiezen con a, s o b y que tengan lo que sea por delante

ls [archivo 10-12].py

Te permitira acceder a archivos que se llamen archivos y que tengan un rango del 10 al 12 en el nombre, y que sean de formato py

{}

Permite filtrar varios tipos de parametros de busqueda

ls 鈥榃eb Capture鈥*.{jpeg, png}

Me traera todos los archivos que comienzen con 鈥淲eb Capture鈥 y que sean de extension jpeg o png

隆Se logro!, la verdad nunca pense en lo 煤til que es este curso y eso que a煤n no lo he terminado; en mi caso tengo windows y use la terminal de Ubuntu pues muchas veces me toca probar si me funciona en gitbash o en ubuntu.

Wildcards con d铆gitos.

.
Se me ocurre鈥 buscar los backups realizados en el mes 6 de cada a帽o:
.

.
Y si hay que pasarlos a alguna parte, podr铆amos hacerlo, o tambi茅n copiarlo:

Creo alias para ir a windows desde wsl:
alias win=鈥渃d /mnt/c鈥

ls -lad *[0-9]*

Encontr茅 el comando para los n煤meros : ) Con el 0-9 se crea un rango. La d (-lad) es para que solo busque en el directorio, sin recursividad.

Hola les comparto mi c贸digo. 脡xitos.

[email protected]:~$ mkdir 123 f34 44 124
[email protected]:~$ ls
1 124 abc datos123 dir2 dot2.txt file_copi index.html
123 44 datos1 dir doc.txt f34 flie.txt mearchivo.txt
[email protected]:~$ ls [134]*
1:

123:

124:

44:

隆Hola!
Para buscar archivos con d铆gitos, yo lo hice de la siguiente manera.

Mi cerebro anda a otro nivel ahora mismo jajaja me siento hacker. Que buenasas estan las Wildcards!

Que interesante el tema de las wildcards

Ejercicio

Sobre esta Clase.
Clase 6
https://platzi.com/clases/2292-terminal/37346-wildcards/
Wildcards

Las wildcards son una serie de caracteres especiales que nos permiten encontrar patrones, realizar b煤squedas mucho m谩s avanzadas. Este tipo de b煤squedas las vamos a hacer con el comando ls.

驴Por qu茅 son 煤tiles?

En vez de utilizar ls para buscar una lista interminable de archivos las wildcards nos permiten buscar patrones espec铆ficos.

Por ejemplo todos los archivos que terminen en txt, o los que sean html y que adem谩s inicien con may煤sculas.

ls .txt: Lista los archivos con extensi贸n txt
ls nombre.
: Lista todos los archivos con el nombre especificado sin importar su extenci贸n.
ls nombre?: Lista los archivos que comiencen con determinado nombre y adem谩s al final de ese nombre un car谩cter m谩s desconocido. Aumentando la cantidad de signos de interrogaci贸n, se agragan m谩s caracteres al final del nombre de archivo.
ls [[:upper:]]* : Filtra todos los directorios que empiezan con may煤sculas y que terminen en una suscesi贸n de caracteres. ls -d [[:upper:]]* : Se central en directorios.
ls -d [[:lower:]]: Idem anterior pero min煤sculas.
ls [ai]
: Lista los archivos que comiencen con la letra a y con la letra i

Mostrar todas las coincidencias que terminen en .txt

ls *.txt

Mostrar todos los que digan datos y que tengan varios caracteres despu茅s

ls datos*

Mostrar todos los archivos que digan datos pero que solamente tengan un car谩cter al final

ls datos?

De acuerdo con la cantidad de caracteres despu茅s de la palabra datos que se quieran listar se a帽ade al final un signo de interrogaci贸n

ls datos??
ls datos???

Mostrar todas las coincidencias que terminen en .html

ls *.html

Mostrar todas las coincidencias que inician con una may煤scula o una min煤scula

ls [[:lower:]]*

Mostrar solo los directorios que inician con min煤scula

ls -d [[:lower:]]*

Hacer clases con wildcards
Mostrar todos los archivos que inicien con una a o con una d y le siga cualquier car谩cter

ls [ad]*

antes de usar wildcards deber铆an leer este art铆culo, explica bien como usar una wildcard podr铆a borrar todos los archivos y carpetas dentro de una sandbox, cambiar los permisos de todos los archivos en un servidor y otras t茅cnicas de hacking.
https://www.defensecode.com/public/DefenseCode_Unix_WildCards_Gone_Wild.txt
si no les va tan bien con el ingl茅s pueden ver mi resumen en github
https://github.com/koyomi-san/terminal/blob/main/wildcards.txt

Listar solo los archivos

ls *.*

Con respecto a este punto: ls -d [[:upper:]]* me di cuenta que sin la opci贸n -d S脥 muestra el nivel de las carpetas, pero con la opci贸n -d solo muestra archivos y directorios sin nivel. Adjunto imagen.

Mi exercise, with errors and all鈥

Mi alias j=鈥渓s *.js鈥

Desconoc铆a completamente esto de las wildcards y son muy muy funcionales la verdad

Para abrir una pesta帽a de google en Brave desde WSL:
alias google=鈥渃md.exe /C start 鈥渂rave.exe鈥 https://www.google.com.mx

Consulta que inicie por digitos

ls [[:digit:]]*

Bueno me siento contenta, jajajaj, luego de varios intentos lo logr茅, para resolver el reto relativo a averiguar el comando para buscar varios archivos javascript en mi equipo, use el siguiente comando:

-$ alias u= 鈥渓s - lahS *.js鈥

Como no ten铆a muchos archivos .js, cree varios con el comando touch, para realizar la busqueda.

/* clase 6 --> Wildcards */

WILDCARDS (ls):

    * --> Cualquier caracteres. (ejm: *.txt = readme.txt)

    ? --> Caracter individual. (ejm: datos? = datos1)

    -d --> Solo direcctorios.

    CLASES:
        [[:digit:]] --> Coincidencia con n煤meros.
        [[:upper:]] --> Coincidencia con mayusculas.
        [[:lower:]] --> COincidencia con minusculas.
  1. Determina c贸mo filtrar con d铆gitos.

    ls [[:digit:]]
    
  2. Crea un alias.
    Apenas voy iniciando con la terminal, as铆 que:

Dejo unos ejercicios que hice XD por si quieren hacerlos:
Para crear los archivos:

touch index.html style.css login.css fun.js page1.html page2.html page3.html page4.html login.html fIle aRchivo dOcumento FILES Func.js fun1.js fun2.js fun3.js Doc

Ejercicios

  1. Listar todos los archivos que sean HTML
  2. Listar todos los archivos que tengan una may煤scula en el segundo car谩cter
  3. Listar todos los archivos page.html
  4. Listar el documento con todas las letras en may煤sculas
  5. Listar todos los archivos con un d铆gito
  6. Listar los archivos que empiecen con f may煤scula

La primera computadora a la que le instal茅 Linux (us茅 Kali) no le serv铆a los botones f铆sicos para aumentar o reducir el brillo del monitor. As铆 que investigu茅 y encontr茅 que este comando: xrandr --output [monitor-name] --brightness [brightness-level] (aunque no recuerdo bien, bien si era este mismo pero el chiste es que pod铆a controlar eso desde una terminal). A lo que voy es que los alias son muy 煤tiles pues con los que cre茅 (bright y dark) pod铆a ejecutar el comando de arriba m谩s r谩pido y as铆 controlar el brillo de mi compu:D

驴Qu茅 son las wildcards?
Las wildcards son caracteres especiales.
驴Para qu茅 sirven las wildcards?
En la shell estamos trabajando constantemente con archivos. Las wildcards son comodines de b煤squeda, que nos ayuda a encontrar o trabajar con esos archivos de manera m谩s r谩pida.

Por ejemplo, por medio de wildcards podemos crear patrones de b煤squeda mucho m谩s complejos.

Si un comando acepta nombres de archivos, podemos agregarle wildcards. Digamos por ejemplo que queremos remover todos los archivos que comienzan con 鈥渟uel鈥, son del tipo .txt y tienen un car谩cter extra.
Tipos de wildcards
El comod铆n ? puede ir en lugar de cualquier car谩cter en particular, pero reeemplaza un 煤nico caracter por vez鈥

Pero tenemos otra opciones, por ejemplo:

La wildcard * (asterisco) iguala a cualquier n煤mero de caracteres.

Digamos por ejemplo que queremos mover todos los archivos que comienzan con la letra 鈥渁鈥. Para eso usamos el comod铆n * (asterisco) que entra en lugar de cualquier car谩cter, en cualquier cantidad.

Por ejemplo decir 鈥渁*鈥 para el sistema significa que nos estamos refiriendo tanto al archivo 鈥渁mor鈥 como al archivo 鈥渁vioneta鈥 o al archivo 鈥渁nt铆lope鈥.

Por esto escribir a* es lo mismo que decir 鈥渢odos los nombres que comienzan con la letra a.

Tomado de : https://apunteimpensado.com/wildcards-que-son-para-que-sirven/

WILDCARDS
Nos permiten encontrar patrones o realizar b煤squedas m谩s avanzadas.

  • ls *.txt -> Muestra todas los archivos con esta extensi贸n.
  • ls datos* -> Muestra los archivos que tenga la misma ra铆z 鈥渄atos鈥 sin importar que tenga m谩s caracteres.
  • ls datos? -> Muestra los archivos que tienen la ra铆z 鈥渄atos鈥 y un caracter adicional.
    -Al final coloco ? seg煤n el n煤mero de caracteres que quiero mostrar.
  • ls [[ : upper : ]]* -> Para buscar directorios que comiencen con may煤scula.
    • Si quiero filtrarlo ejemplo s贸lo para carpetas coloco -d luego de ls:
      ls -d [[ : upper : ]]*
  • ls [[ : lower: ]]* -> Para buscar directorios que comiencen con min煤sculas.
  • ls [ ad ]*-> Para buscar coincidencias al inicio del nombre de los directorios. En este caso que comiencen con a o con d.
alias num="ls [[:digit:]]*"
num
_12  1245  4  78  9_
alias js="ls *.js"
 js
proyectoPrueba.js```

Siempre le hab铆a tenido miedo a la terminal, pero honestamente me est谩 gustando 馃榾