Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Ambdós costats versió prèvia Revisió prèvia
Següent revisió
Revisió prèvia
linux:bash:shellvariables [01/10/2024 03:15] – [Table] matelinux:bash:shellvariables [01/10/2024 03:53] (actual) – [Operaciones sobre cadenas] mate
Línia 92: Línia 92:
 +info: [[linux:bash:indirectreferences|]] +info: [[linux:bash:indirectreferences|]]
 == Operaciones sobre cadenas == Operaciones sobre cadenas
-/vía: [[http://www.marqueta.org/cadenas-en-bash/]]+  * /vía: [[http://www.marqueta.org/cadenas-en-bash/]] 
 +  * /vía: [[https://tldp.org/LDP/abs/html/string-manipulation.html]] 
 +  * /via: [[https://itsfoss.com/es/cadenas-bash/]] 
 ^ expresión                        ^ Significado                                                ^ Ejemplo                                                       ^ ^ expresión                        ^ Significado                                                ^ Ejemplo                                                       ^
 | ''${#parametro}''                | longitud de parámetro                                      | echo ${#string}                                               | | ''${#parametro}''                | longitud de parámetro                                      | echo ${#string}                                               |
Línia 103: Línia 106:
 | ''${cadena/#s1/s2}''             | reemplazar si hay coincidencia al princpio de cadena                                                                     | | ''${cadena/#s1/s2}''             | reemplazar si hay coincidencia al princpio de cadena                                                                     |
 | ''${cadena/%s1/s2}''             | reemplazar si hay coincidencia al final de cadena          |                                                               | | ''${cadena/%s1/s2}''             | reemplazar si hay coincidencia al final de cadena          |                                                               |
 +| recorrido |
 | ''${cadena##*separador}''        | extrae el último elemento de la ristra, usando separador   | %%data=foo,bar,baz;echo ${data##*,}%%                         | | ''${cadena##*separador}''        | extrae el último elemento de la ristra, usando separador   | %%data=foo,bar,baz;echo ${data##*,}%%                         |
 +| mayúsculas y minúsculas|
 +| ''${cadena^^}''                  | convierte a mayúsculas                                                                                                   |
 +| ''${cadena^}''                   | a mayúsculas el primer carácter                            |                                                               |
 +| ''${cadena,,}''                  | convierte a minúsculas                                                                                                   |
 +| ''${cadena,}''                   | a minúsculas el primer carácter                            |                                                               |
 +| ''${¢adena^^[chars]}''           | cambia chars a mayúsculas                                  |                                                               |
 +|                                  |                                                            |                                                               |
  
 +=== comparaciones
   * ''$ a=foo; b=bar; [ "$a" = "$b" ] && echo "iguales" || echo "diferentes"'' <- espacios en condición importantes   * ''$ a=foo; b=bar; [ "$a" = "$b" ] && echo "iguales" || echo "diferentes"'' <- espacios en condición importantes
   * ''$ a=foo; b=bar; [ "$a" == "$b" ] && echo "iguales" || echo "diferentes"'' <- idem anterior   * ''$ a=foo; b=bar; [ "$a" == "$b" ] && echo "iguales" || echo "diferentes"'' <- idem anterior
Línia 112: Línia 124:
   * ''$ a=foo; b=bar; [ "$a" = "foo" -o "$b" = "bar" ] && echo "al menos 1 OK" || echo "ninguno OK"'' <- -o equivale OR   * ''$ a=foo; b=bar; [ "$a" = "foo" -o "$b" = "bar" ] && echo "al menos 1 OK" || echo "ninguno OK"'' <- -o equivale OR
  
 +=== parámetros
   * ${@:param:num_param} -> coge desde <param> el número de parámetros indicado por <num_param>   * ${@:param:num_param} -> coge desde <param> el número de parámetros indicado por <num_param>
     * permite acceder a parámetros más allá del 10     * permite acceder a parámetros más allá del 10
     * ''${@:7:2}'' -> devuelve $7 y $8     * ''${@:7:2}'' -> devuelve $7 y $8
     * @ indica todos -> (se podrá indicar otra cosa?)     * @ indica todos -> (se podrá indicar otra cosa?)
-  * recorrer una cadena palabra a palabra:<code> + 
-cadena="Esto es una cadena"+=== ejemplos 
 +  * recorrer una cadena palabra a palabra: 
 +    * <code bash>cadena="Esto es una cadena"
 arr=($cadena) arr=($cadena)
 for i in ${arr[@]}; do echo $i; done for i in ${arr[@]}; do echo $i; done
 </code> </code>
-<code>+    *<code bash>
 cadena="Esto es una cadena" cadena="Esto es una cadena"
 for i in ${cadena[@]}; do echo $i; done for i in ${cadena[@]}; do echo $i; done
  • linux/bash/shellvariables.1727777711.txt.gz
  • Darrera modificació: 01/10/2024 03:15
  • per mate