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 “El 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…J} {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 “tema” de Pedro y el “tema” 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…Z} {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 “tema” 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…valorN) 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=(“first” “second” “third” “fourth” “fifth” “sixth”)

<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…z] [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 “Array 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[*]}"```