viernes, 9 de septiembre de 2011

Sesión 5 File Globbing (expansión en terminal)

 ~ (tilde) :  Sirve para abreviar la ruta /home/usuario.

Ejemplo:
mi-usuario@maquina:~$ ls ~
examples.desktop  file1  file2  file3  tree-folder


* (comodín):  Representa 0 o más caracteres cualesquiera

Ejemplos :

mi-usuario@maquina:~$ ls

song11.mp3  song1.ogg  song2.ogg    song3.mp3  song4.mp3
song1.mp3   song2.mp3  song343.mp3  song3.ogg

mi-usuario@maquina:~$ ls *.mp3

song11.mp3  song1.mp3  song2.mp3  song343.mp3  song3.mp3  song4.mp3


mi-usuario@maquina:~$ ls *.ogg

song1.ogg  song2.ogg  song3.ogg

mi-usuario@maquina:~$ ls song3*

song343.mp3  song3.mp3  song3.ogg


? (comodín sencillo) :  Representa 1 solo caracter cual sea

Ejemplos:

mi-usuario@maquina:~$ ls

song11.mp3  song1.ogg  song2.ogg    song3.mp3  song4.mp3
song1.mp3   song2.mp3  song343.mp3  song3.ogg

mi-usuario@maquina:~$ ls song?.mp3
song1.mp3  song2.mp3  song3.mp3  song4.mp3

mi-usuario@maquina:~$ ls song?.ogg
song1.ogg  song2.ogg  song3.ogg

mi-usuario@maquina:~$ ls song??.ogg
song11.mp3

mi-usuario@maquina:~$ ls song???.ogg
song343.mp3


{} (braces) :  Expande o genera secuencias tales como numeros o letras.

Ejemplos:

mi-usuario@maquina:~$ touch file{1..4}
mi-usuario@maquina:~$ ls
file1  file2  file3  file4
mi-usuario@maquina:~$ ls file{1..3}
file1  file2  file3
mi-usuario@maquina:~$ mkdir folder{a..e}
mi-usuario@maquina:~$ ls
file1  file2  file3  file4  foldera  folderb  folderc  folderd  foldere
mi-usuario@maquina:~$ touch {f,h,w}ire
mi-usuario@maquina:~$ ls
file1  file3  fire     folderb  folderd  hire
file2  file4  foldera  folderc  foldere  wire


[[:keyword:]]  (clases de caracteres) :   Son conjuntos de caracteres con características en común como                                 pueden ser: alpha (letras), digit (números), punct (signos de puntuación), upper (mayúsculas), lower(minúsculas). Para conocer todas las clases de caracteres recomiendo ejecutar el comando man 7 glob


Ejemplos:

mi-usuario@maquina:~$ ls
file1  filea   filead  filebc  filecb  fileda  fire     folderd
file2  fileaa  fileb   filebd  filecc  filedb  foldera  foldere
file3  fileab  fileba  filec   filecd  filedc  folderb  hire
file4  fileac  filebb  fileca  filed   filedd  folderc  wire

mi-usuario@maquina:~$ ls file[[:alpha:]]
filea  fileb  filec  filed

mi-usuario@maquina:~$ ls file[[:digit:]]
file1  file2  file3  file4

mi-usuario@maquina:~$ ls file[[:alnum:]]
file1  file2  file3  file4  filea  fileb  filec  filed

mi-usuario@maquina:~$ ls file[[:alpha:]][[:alpha:]]
fileaa fileac fileba filebc fileca filecc fileda filedc
fileab filead filebb filebd filecb filecd filedb filedd


Prevenir Expansión en terminal

\ Toma literal el siguiente caracter
" "  Previene toda expansión excepto algunos símbolos (!, \, $, ')
' '   Previene toda expansión

Ejemplos:

mi-usuario@maquina:~$ touch \$\$money\$\$
mi-usuario@maquina:~$ ls
$$money$$

mi-usuario@maquina:~$ touch 'fight!!!!'
mi-usuario@maquina:~$ ls
fight!!!!

No hay comentarios:

Publicar un comentario