No tienes acceso a esta clase

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

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

1D
6H
43M
14S
Curso de Programaci贸n en Bash Shell

Curso de Programaci贸n en Bash Shell

Marco Antonio Toscano Freire

Marco Antonio Toscano Freire

Arreglos

23/43
Recursos

Los Arreglos son un tipo de variables que puede contener N cantidad de valores ya sean cadenas de texto, num茅ricos, etc. Estos siempre empiezan desde la posici贸n n煤mero 0.

Aportes 35

Preguntas 4

Ordenar por:

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

o inicia sesi贸n.

Si escucho la palabra tema una vez m谩s me va a dar una embolia

Para cambiar el color en vim ingresar :colorscheme y el nombre del esquema de color. Por ejemplo

:colorscheme desert

Para obtener la lista de esquemas de color instalador, ingresar :colorscheme, espacio y Ctrl + D.

Para establecer el esquema de color por defecto , editar el archivo .vimrc y agregar una linea colorscheme desert

El tema de su muletilla 鈥淓l tema鈥 me estresa mucho 馃槪

Aqu铆 les dejo el esquema de colores de Atom para vim:
https://github.com/joshdick/onedark.vim

Si quieren poder autocompletado:
https://github.com/ycm-core/YouCompleteMe

Y para manejar plugins con facilidad:
https://github.com/VundleVim/Vundle.vim

Les dejo un resumen de la clase:

Los Arreglos son un tipo de variables que puede contener N cantidad de valores ya sean cadenas de texto, num茅ricos, etc. Estos siempre empiezan desde la posici贸n n煤mero 0.

  • Se declaran entre par茅ntesis y cada elemento se separa por un espacio.
  • En caso de texto se separa por una coma.
  • Un elemento puede ser una cadena de elementos que forman un rango y se declara entre llaves: {A鈥} {10鈥20}. Escribir estos rangos juntos genera una operaci贸n distinta, que es iterar cada elemento del primer rango con cada elementos del segundo rango.
  • Para a帽adir valores: arregloNombre[posicion]=valor
  • Para quitar alg煤n elemento: unset arregloNombre[posici贸n]
  • Para imprimir todos los valores: echo 鈥 ${arregloNombre[*]} 鈥
  • Para imprimir el tama帽o: echo 鈥 ${#arregloNombre[*]} 鈥
  • Para imprimir el valor en X posici贸n: echo 鈥 ${arregloNombre[X]} 鈥

驴c贸mo es que es el asunto? dice corchetes y escribe par茅ntesis, dice llaves y escribe corchetes, dice corchetes y escribe corchetes鈥 as铆 es complicado escuchar lo que dice mientras escribe otra cosa.
Equipo de success, si hacen seguimiento a estos cursos antes de ser lanzados, ojo con esos detalles.

Cual sera el 鈥渢ema鈥 de Pedro y el 鈥渢ema鈥 de Susana 馃槷

La clase est谩 bien, pero creo que, el tanto hablar no hace las cosas m谩s explicativas, mientras m谩s simple y concreta sea la explicaci贸n que se brinde, mejor ser谩 el entendimiento que se demuestra y mejor la informaci贸n que se puede compartir.

#!/bin/bash

Array1=(1 2 3 4 5 6)
String1=(perro, gato, caballo, canario)
Rank1=({A鈥} {10鈥20})

#Vista
echo -e "\n------->"
echo -e "Array: ${Array1[]}"
echo -e "\nString: ${String1[]}"
echo -e 鈥淺nRank: ${Rank1[*]}\n鈥

#Sizes
echo -e "\n------->"
echo -en "Array: ${#Array1[]}"
echo -en "\nString: ${#String1[]}"
echo -en 鈥淺nRank: ${#Rank1[*]}\n鈥

#Positions
echo -e "\n------->"
echo -en "Vista en position [3]:"
echo -en 鈥淺nArray: ${Array1[3]}\nString: ${String1[3]}\nRank: ${Rank1[3]}\n鈥

#Set Value:
echo -e "\n------->"
Array1[7]=20; unset Array1[0]
echo -en "Se elimina la posicion [0] en Array: ${Array1[]}"
echo -en "\nNuevo Array: ${Array1[]}"
echo -en 鈥淺nNueva longitud del Array: ${#Array1[*]}\n\n鈥

Arrays Bash-Scripting Guide

El peor profesor de Platzi, de nada

He visto varios comentando que el 鈥渢ema鈥 de la muletilla -gui帽o, gui帽o- no deber铆a importarnos. Por supuesto, todos podemos tener muletillas, pero m谩s all谩 de la (innecesaria) correcci贸n pol铆tica, cuando se es docente se comunica y si hay algo que distrae o bloquea la efectiva comunicaci贸n, entonces hay que trabajar para mejorarlo, m谩xime cuando es tan marcado.

Mi aporte de hoy

# imprimir todos los valores
echo "Arreglo de N煤meros: ${arregloNumeros[*]}" 

# imprime tama帽o de los arreglos
echo "Tama帽o del arreglo de N煤meros: ${#arregloNumeros[*]}" 

# imprimir las la posicion 3 de los arreglos
echo "Posici贸n 3 del arreglo de N煤meros: ${arregloNumeros[3]}" 

# imprimir los indeces de los arreglos
echo "Indeces de los arreglo de N煤meros: ${!arregloNumeros[@]}" 
# para este caso @ funciona igual que *

Muy buen curso, pero esos colores de vim son molestos y hay que forzar un poco la vista para identificar los caracteres (especialmente las variables),

Poderoso el manejo de arreglos es bash.

una duda:

el numero 20 no se debio insertar en la posicion 6? ya que se empieza a contar desde 0.

Agregu茅 un par de variantes como agregar un elemento al final sin saber cu谩l es el 铆ndice del 煤ltimo elemento.

#!/bin/bash
# Programa para ejemplificar el uso de los arreglos

arregloNumeros=(1 2 3 4 5)
arregloCadenas=(Juan, Pedro, Luis, Alex)
arregloRangos=({A..Z} {10..20})

#imprimir todos los valores
echo "Arreglo de N煤meros: ${arregloNumeros[*]}"
echo "Arreglo de Cadenas: ${arregloCadenas[*]}"
echo "Arreglo de Rangos: ${arregloRangos[*]}"

#Imprimir los tama帽os de los arreglos
echo "Tama帽o de Arreglo de N煤meros: ${#arregloNumeros[*]}"
echo "Tama帽o de Arreglo de Cadenas: ${#arregloCadenas[*]}"
echo "Tama帽o de Arreglo de Rangos: ${#arregloRangos[*]}"

#Imprimir la posici贸n 3 de cada arreglo
echo "Posici贸n 3 del arreglo de N煤meros: ${arregloNumeros[3]}"
echo "Posici贸n 3 del arreglo de Cadenas: ${arregloCadenas[3]}"
echo "Posici贸n 3 del arreglo de Rango: ${arregloRangos[3]}"

#A帽adir y eliminar valores en un arreglos
#Si la posici贸n no es la 煤ltima + 1 no pasa nada, no funciona

echo -e "\nArreglo de N煤meros Original: ${arregloNumeros[*]}"

echo -e "\nAgrega el elemento en la posici贸n despu茅s del 煤ltimo"
arregloNumeros["${#arregloNumeros[*]}"]=21
echo "Arreglo de n煤meros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros: ${#arregloNumeros[*]}"

echo -e "\nAgrega el elemento en la posici贸n del 煤ltimo, reemplazandolo"
arregloNumeros["${#arregloNumeros[*]} - 1"]=22
echo "Arreglo de n煤meros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros: ${#arregloNumeros[*]}"

echo -e "\nAgrega el elemento en la posici贸n que se le indique (2), reemplaz谩ndo al elemento existente"
arregloNumeros[2]=23
echo "Arreglo de n煤meros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros: ${#arregloNumeros[*]}"

echo -e "\nAgrega el elemento en la posici贸n despu茅s del 煤ltimo"
arregloNumeros["${#arregloNumeros[*]}"]=24
echo "Arreglo de n煤meros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros: ${#arregloNumeros[*]}"

echo -e "\nElimina el elemento en la posici贸n indicada (0)"
unset arregloNumeros[0]
echo "Arreglo de n煤meros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros: ${#arregloNumeros[*]}"```
#!/bin/bash

numbers_array=(1 2 3 4 5 6)
strings_array=(Marco, Antonio, Pedro, Susana)
ranges_array=({A..Z} {10..20})

echo "Numbers array: ${numbers_array[*]}"
echo "Strings array: ${strings_array[*]}"
echo "Ranges array: ${ranges_array[*]}"

echo "Numbers array size: ${#numbers_array[*]}"
echo "Strings array size: ${#strings_array[*]}"
echo "Ranges array size: ${#ranges_array[*]}"

echo "Third position of numbers array: ${numbers_array[2]}"
echo "Third position of strings array: ${strings_array[2]}"
echo "Third position of ranges array: ${ranges_array[2]}"

numbers_array[7]=20
unset numbers_array[0]
echo "Numbers array: ${numbers_array[*]}"
echo "Numbers array size: ${#numbers_array[*]}"

Hola鈥 les dejo mi script鈥

# ! /bin/bash
# Programa para uso de arreglo
# Author: Diego Beltran histagram @diegodevelops

arregloNum=(1 2 3 4 5 6)
arregloString=(Diego, Andres, Mariana, Beatriz)
arregloRango=({A..Z} {10..20})

#imprimir valores
echo "Arreglo n煤meros: ${arregloNum[*]}"
echo "Arreglo cadenas: ${arregloString[*]}"
echo "Arreglo rangos: ${arregloRango[*]}"

#imprimiendo y tama帽os

echo "Tama帽o Arreglo n煤meros: ${#arregloNum[*]}"
echo "Tama帽o Arreglo cadenas: ${#arregloString[*]}"
echo "Tama帽o Arreglo rangos: ${#arregloRango[*]}"

#imprimir la posici贸n 3 del los arreglos

echo "Pos 3 Arreglo n煤meros: ${arregloNum[3]}"
echo "Pos 3 Arreglo cadenas: ${#arregloString[3]}"
echo "Pos 3 Arreglo rangos: ${#arregloRango[3]}"

#A帽adir y eliminar valores en un arreglo

arregloNum[7]=20
unset arregloNum[0]
echo "Arreglo numeros: ${arregloNum[*]}"
echo "Tama帽o arreglo numeros: ${#arregloNum[*]}"```

Saludos

Que tema tendr谩 en cuenta para el tema de estar diciendo siempre tema. Mira que me gustan los cursos de Plazi.
Pero entre que es poco elocuente, la indumentaria para mi gusto muy mal elegida, que tiene erratas que a la hora de publicar el curso alguien de Plazi se tendr铆a que haber dado cuenta. Sin res煤menes escritos. Aprendes por los comentarios de los compis. Y clases que duran 6 - 8 minutos que se podr铆an resumir en 1.
Me apena tener que decir esto.
Pero actualizar el curso. o incluir un pdf con el resumen del curso a si uno no pierde el tiempo intentando no enfadarse.

Podr铆an solo explicar el c贸digo no escribirlo en el video, se hace un poco aburrido seguir el curso

  • 驴 C贸mo utilizar arreglos ?
  1. Una variable con varios elementos.
  2. Para crear un arreglo se debe colocar los elementos dentro de brackets nombreArreglo = (valor1, valor2鈥alorN) o usar rangos.
  3. El 铆ndice de un arreglo comienza en cero.
  4. Para remover los elementos de un arreglo se utiliza el comando unset nombreArreglo[pos]
<h5>C贸digos B谩sicos</h5>
#Imprimir un arreglo
${nombreArreglo[*]}

#Imprimir el tama帽o del arreglo
${#nombreArreglo[*]}

#Imprimir una posici贸n del arreglo
${nombreArreglo[posicion]}

#Agregar un dato a un arreglo
nombreArreglo[posicion]=valor

#Eliminar un dato de un arreglo
unset nombreArreglo[posicion]

Comparto el tema de mi codigo sobre el tema de arreglos

#!/bin/bash
# Programa para el tema de los arreglos
# Autor: Milo

arregloNumeros=(1 2 3 4 5 6)
arregloCadenas=(Juan, Pedro, Susana, Bog, Fusa, Zipa)
arregloRangos=({A..G} {10..20})

#imprimir茅 todos los valores
echo "Arreglo del tema de N煤meros: ${arregloNumeros[*]}"
echo "Arreglo del tema de Cadenas: ${arregloCadenas[*]}"
echo "Arreglo del tema de Rangos: ${arregloRangos[*]}"

#imrimir茅 el tama帽o de los arreglso
echo "Tama帽o Arreglo de N煤meros: ${#arregloNumeros[*]}"
echo "Tama帽o Arreglo de Cadenas: ${#arregloCadenas[*]}"
echo "Tama帽o Arreglo de Rangos: ${#arregloRangos[*]}"

#>Imprimri las posicion 2 de cada uno
echo "posici贸n 3 Arreglo de N煤meros: ${arregloNumeros[3]}"
echo "posici贸n 3 Arreglo de Cadenas: ${arregloCadenas[3]}"
echo "posici贸n 3 Arreglo de Rangos: ${arregloRangos[3]}"

#a帽adir y elminar valores de un arreglo.
arregloNumeros[7]=20
unset arregloNumeros[0]
echo "Arreglo de N煤meros: ${arregloNumeros[*]}"
echo "Tama帽o Arreglo de N煤meros: ${#arregloNumeros[*]}"
echo "posici贸n 7 Arreglo de N煤meros: ${arregloNumeros[7]}"

Hincapi茅:

Array[index]=value # Agregar valores
unset Array[index]  # Eliminar valores

Script escrito y probado en Ubuntu 18.04
5 array_fib=(1 1 2 3 5 8)
6 array_chain=(鈥渇irst鈥 鈥渟econd鈥 鈥渢hird鈥 鈥渇ourth鈥 鈥渇ifth鈥 鈥渟ixth鈥)

<h1>array_chain=(first, second, third, fourth, fifth, sixth)</h1> <h1>Las 2 l铆neas de cadenas de array_chain funcionan ok</h1>

7 array_range=([a鈥] [0鈥9])
8
9 #Print the values of all arrays
10 echo "Array of fib: ${array_fib[]}"
11 #show the values in separated lines
12 echo "Array of chain: ${array_chain[@]}"
13 #show the values in the same lines
14 echo "Array of range: ${array_range[
]}"
15
16 #Print the length of all arrays
17 echo "Length of array of fib: ${#array_fib[]}"
18 echo "Length of array of chain: ${#array_chain[
]}"
19 echo "Length of array of range: ${#array_range[]}"
20
21 #Print the value in pos 鈥1鈥 of all arrays
22 echo "Value in position 1 of array of fib: ${array_fib[1]}"
23 echo "Value in position 1 of array of chain: ${array_chain[1]}"
24 echo "Value in position 1 of array of range: ${array_range[1]}"
25
26 #Eliminate the last value in array
27 unset array_fib[5]
28 unset array_chain[5]
29 unset array_range[1]
30 echo -e ""
31
32 echo -e "All arrays updated with the last value erased in each of$
33 #Print the values of all arrays
34 echo "Array of fib: ${array_fib[
]}"
35 #show the values in separated lines
36 echo "Array of chain: ${array_chain[@]}"
37 #show the values in the same lines
38 echo 鈥淎rray of range: ${array_range[*]}鈥

Todos los elementos del arreglo
${arreglo[*]}
Tama帽o del arreglo
${#arreglo[*]}
Un elemento del arreglo
${arreglo[posici贸n]}
Ingresar un elemento al arreglo
arreglo[posici贸n]=elemento
Eliminar un elemento del arreglo
unset arreglo[posici贸n]

En Fish shell:

set -l intArray 1 2 3  # Literales (enteros)
set -l stringArray Uno Dos Tres  # Literales (cadenas de caracteres)
set -l rangeArray (seq 1 10) (seq 65 90 | awk '{printf("%c\n",$1)}')  # Rangos

echo "Longitud de arreglo de enteros: "(count $intArray)  # 3
echo "Longitud de arreglo de cadenas de caracteres: "(count $stringArray) # 3
echo "Longitud de arreglo de enteros: "(count $rangeArray)  # 36

echo "Acceso por 铆ndice: $intArray[1]"  # 1
echo "Acceso por 铆ndice multiple: $rangeArray[3 11 36]"  # 3 A Z
echo "Acceso por rango: $stringArray[2..3]"  # Dos Tres
echo "Acceso por rango inverso: $stringArray[3..2]"  # Tres Dos

gracias

Buenas noches, disculpen alguien podr铆a facilitarme el link del repositorio de Git Hub de este curso.
Gracias

Entendido

#!/bin/bash
# Programa para utilziat arreglos
# DBZ


arregloNumeros=(1 2 3 4 5 6)
arregloCadenas=(Ana, Isabela, Diana, David)
arregloRangos=({A..z} {1..20})

#Imprimir todos los valores
echo "Arreglo de N煤meros:${arregloNumeros[*]}"
echo "Arreglo de Cadenas:${arregloCadenas[*]}"
echo "Arreglo de N煤meros:${arregloRangos[*]}"

#Imprimir los tama帽os de los arreglos
echo "Tama帽o Arreglo de N煤meros:${#arregloNumeros[*]}"
echo "Tama帽o Arreglo de Cadenas:${#arregloCadenas[*]}"
echo "Tama帽o Arreglo de N煤meros:${#arregloRangos[*]}"

#Imprimir la posici贸n 3 del arreglo de n煤meros, cadenas de rango
echo "Posici贸n 3 Arreglo de N煤meros:${arregloNumeros[3]}"
echo "Posici贸n 3 Arreglo de Cadenas:${arregloCadenas[3]}"
echo "Posici贸n 3 Arreglo de Rangos:${arregloRangos[3]}"

#A帽adir y eliminar valores en un arreglo
arregloNumeros[7]=20
unset arregloNumeros[0]
echo "Arreglo de N煤meros:${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros:${#arregloNumeros[*]}"

Seria Genial que cambiara los colores de la consola, cuesta mucho ver algunos comandos.

As铆 quedo mi script.

# !/bin/bash
# Programa para ejemplificar el uso de los arreglos
# Autor: Marco

arregloNumeros=(1 2 3 4 5 6)
arregloCadenas=(Marco, Antonio, Pedro, Susana)
arregloRangos=({A..Z} {10..20})

#Imprimir todos los valores
echo "Arreglo de numeros: ${arregloNumeros[*]}"
echo "Arreglo de Cadenas: ${arregloCadenas[*]}"
echo "Arreglo de Rangos: ${arregloRangos[*]}"

#Imprimir los tama帽os de los arreglos
echo "Tama帽o de arreglo de Numeros: ${#arregloNumeros[*]}"
echo "Tama帽o de arreglo de Cadenas: ${#arregloCadenas[*]}"
echo "Tama帽o de arreglo de Rangos: ${#arregloRangos[*]}"

#Imprimir la posicion 3 del arreglo de numeros, cadenas y rangos
echo "Posicion 3 del arreglo de numeros: ${arregloNumeros[3]}"
echo "Posicion 3 del arreglo de Cadenas: ${arregloCadenas[3]}"
echo "Posicion 3 del arreglo de Rangos: ${arregloRangos[3]}"

#A帽adir y Eliminar valores del arreglo
arregloNumeros[7]=20
unset arregloNumeros[0]
echo "Arreglo de numeros: ${arregloNumeros[*]}"
echo "Tama帽o arreglo de Numeros: ${#arregloNumeros[*]}"

El resultado:

# ! /bin/bash
# Programa para ejemplificar el uso de los arreglos
# Autor: Martin Davila

arregloNumeros=(1 2 3 4 5 6)
arregloCadenas=(Marco, Antonio, Pedro, Susana)
arregloRangos=({A..Z} {10..20})

#Imprimir todos los valores
echo "Arreglo de N煤meros:${arregloNumeros[*]}"
echo "Arreglo de Cadenas:${arregloCadenas[*]}"
echo "Arreglo de N煤meros:${arregloRangos[*]}"

#Imprimir los tama帽os de los arreglos
echo "Tama帽o Arreglo de N煤meros:${#arregloNumeros[*]}"
echo "Tama帽o Arreglo de Cadenas:${#arregloCadenas[*]}"
echo "Tama帽o Arreglo de N煤meros:${#arregloRangos[*]}"

#Imprimir la posici贸n 3 del arreglo de n煤meros, cadenas de rango
echo "Posici贸n 3 Arreglo de N煤meros:${arregloNumeros[3]}"
echo "Posici贸n 3 Arreglo de Cadenas:${arregloCadenas[3]}"
echo "Posici贸n 3 Arreglo de Rangos:${arregloRangos[3]}"

#A帽adir y eliminar valores en un arreglo
arregloNumeros[7]=20
unset arregloNumeros[0]
echo "Arreglo de N煤meros:${arregloNumeros[*]}"
echo "Tama帽o arreglo de N煤meros:${#arregloNumeros[*]}"```