A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

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 28

Preguntas 4

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta 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]} 鈥

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

驴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.

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 *

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.

#!/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

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

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.

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[*]}"

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[*]}"```

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[*]}"```