Ja, ambos nos damos cuenta al mismo tiempo. Me alegra ser de ayuda.
derobert
10
Para citar la página de manual:
${parameter##word}
Remove matching prefix pattern. The word is expanded to produce
a pattern just as in pathname expansion. If the pattern matches
the beginning of the value of parameter, […]
/*no coincide con el comienzo, porque su URL comienza con hno /.
Una forma trivial de hacer lo que estás buscando (según tu comentario) es echo "$url" | rev | cut -d / -f 1 | rev. Pero, por supuesto, eso dará resultados interesantes para las URL que terminan en una barra inclinada.
Otra forma de hacer lo que quieras podría ser usar el patrón en su */lugar.
¡Me alegra que hayas explicado lo que hay que hacer y que la cita de la página de manual es una gran ventaja! ¡Eso me ayudó mucho! ¡Gracias de nuevo! :)
Fadi
5
basename(1) también funciona con URL, por lo que simplemente podría hacer:
dirname $url
. Ogrep -o 'http://[^/]*' <<<$url
.Respuestas:
Porque la palabra tiene que coincidir con la cadena que se va a recortar. Debería verse así:
Gracias Derobert, me guiaste en la dirección correcta.
fuente
Para citar la página de manual:
/*
no coincide con el comienzo, porque su URL comienza conh
no/
.Una forma trivial de hacer lo que estás buscando (según tu comentario) es
echo "$url" | rev | cut -d / -f 1 | rev
. Pero, por supuesto, eso dará resultados interesantes para las URL que terminan en una barra inclinada.Otra forma de hacer lo que quieras podría ser usar el patrón en su
*/
lugar.fuente
basename
(1) también funciona con URL, por lo que simplemente podría hacer:fuente
Ver también: Bash Extended Globbing , aunque en este caso el glob extendido no es esencial.
Salida:
file.ext
fuente