Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Wildcards

6/21
Recursos

Aportes 377

Preguntas 66

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta 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.

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.*

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

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

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'


📦 Las wildcards o comodines nos permiten realizar búsquedas más avanzadas, es aplicable para archivos y directorios.

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 “datos”, 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 “datos” 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 “datos” 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 “a” o con la letra “d”, 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í 😃.

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 "^\."' 

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

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

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.

¿Han visto el meme de “El 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 = *).

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 “atras” me tira que no encontro ningun documento o directorio

Bueno, practiquemos =)

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 ‘nombreArchivo’*: Busca todas las coincidencias de ‘nombreArchivo’

  • ls ‘nombreArchivo’?: Busca todos los ‘nombreArchivo’ 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 [‘letrasDeInicio´]*: Nos busca los archivos que empiezen por las letras indicadas

Yo tengo un alias como este

alias firewall1=’ssh [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.

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.

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

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…

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

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:]]

Wildcards: buenas opciones de búsqueda de archivos

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

Se lo sabian?

Yo trabajo en WSL y un alias para mi útil es wh (Windows Home) porque así voy rápidamente a mi home en Windows 😀

Experimentando un poco más también al usar un wildcard con ls puede mostrar coincidencias incluso dentro de carpetas 😮

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í.

😃
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.

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 😄

Yo usando … y sin tener ninguna mayuscula en las carpetas, con razón no sale nada 😅

ls -d [[:upper:]]*

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

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=”command”

alias platzi=cd

Buscar archivos de texto

alias buscar_texto="ls *.txt"

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 😃.

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

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:]]

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.

Me recordo a SQL

Contar todos los archivos de Python dentro del directorio actual:

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

Son una serie de caracteres que nos permiten encontrar patrones o realizar búsquedas mucho mas avanzadas. Estas se hacen con el comando “ls”. 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

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.

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

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 [‘nuevo_nombre’]

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

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.

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:

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=“ls *.js”

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

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

Para abrir una pestaña de google en Brave desde WSL:
alias google=“cmd.exe /C start “brave.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= “ls - lahS *.js”

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

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 “Es hacker” 😂

/* 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 “suel”, 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 “a”. Para eso usamos el comodín * (asterisco) que entra en lugar de cualquier carácter, en cualquier cantidad.

Por ejemplo decir “a*” para el sistema significa que nos estamos refiriendo tanto al archivo “amor” como al archivo “avioneta” o al archivo “antílope”.

Por esto escribir a* es lo mismo que decir “todos los nombres que comienzan con la letra a.

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

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

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 “datos” sin importar que tenga más caracteres.
  • ls datos? -> Muestra los archivos que tienen la raíz “datos” 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 😀

Reto
obtener ficheros o directorios con digitos
opción 2

 ls  *[0-9]*

Reto

obtener ficheros o directorios con digitos

ls *[[:digit:]]*

Reto: Listar los archivos y/o directorios que contengan dígitos:
Solución: ls [[:digit:]]

ls -d [:digit:]

Gracias por la oportunidad platzi, antes veia como la gente ponia comandos en mi compu y me re costaba entender, ahora a mi ritmo voy aprendiendo y practicando

Here is my Alias creation.

alias wayhome=“cd ~”

Here is my task completed, searching for files with digits on their names.

Thanks folks for all your comments. 😃

###DESKTOP-MSNR4SE:/mnt/c/Users/Bruner$ ls ***[[:digit:]]
datos1 datos123 ntuser.dat.LOG1 ntuser.dat.LOG2
###DESKTOP-MSNR4SE:/mnt/c/Users/Bruner$

$ alias js=“ls *.js”
$ js
cities.js countries.js states.js

Hola les comparto mi comando para buscar archivos con mayusculas y extensión python , me fue util para buscar las clases dentro de un proyrcto.

alias py="ls [[:upper:]]*.py"

Para ejecutar

py 

salida

Main.py  Persona.py

La explicación no va acorde a lo que representa en el video, aquí lo escribí de una forma mas entendible

ls *.txt muestra todo lo que termina con .txt

ls datos* muestra todo lo que empieza con datos

ls datos? muestra todo lo que tenga datos y un caracter a la derecha

ls datos??? muestra todo lo que tenga datos y tres caracteres a la derecha

ls [[:upper:]]* muestra todo lo que inicie con mayuscula y cualquier cosa al final

ls -d [[:upper:]]* muestra directorios que inicien con mayuscula y cualquier cosa al final

ls -d [[:lower:]]* muestra directorios que inicien con minuscula y cualquier cosa al final

ls [ad]* busqueda que inicien con a o con d y cualquier extension

lower. Encontrar directorios que empiecen con minúsculas

Wildcards

Son una serie de caracteres especiales que nos permiten buscar búsquedas más avanzadas.

Comandos.

ls * -> Nos muestra todas las coincidencias de las búsquedas. Ejemplo ls .txt
ls datos? -> Nos muestra todos los archivos que tienen como nombre datos y tienen un carácter de más. Un ejemplo es: datos1, porque contiene un carácter especial, entre más signos de interrogación mas caracteres trae en documentos que tenga de más, ejemplo ls datos??? Trae datos123.
ls [[:upper:]]
-> Nos trae todo contenido que inicie con mayúscula y tenga más caracteres.
ls -d [[:upper:]]* -> Nos muestra solo las archivos que comienzan en mayúscula.
ls -d [[:upper:]]* -> Nos muestra todos los archivos que están con minúscula.
Ls [ad]* -> Nos muestra todos los documentos o archivos que están que tenga las iniciales “a” “d”.

Todos los días se aprende algo nuevo, esto es nuevo para mí. ❤️

ejemplo para listar por digitos

en algunas ocasiones no es tan bueno usar alias ya que si trabajas en una pc que no es tuya no sabrás escribir los comandos

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

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

En los wildcards también tenemos [^] no empiece por
ls -d [^d]*

Buscar todos los archivos HTML

$ alias htmlSearch = "ls *.html"

Las Wildcards, son caracteres especiales, para encontrar mediante expresiones con símbolos, indexar solo los archivos especificados.

Muy buen manual

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:]]*