Array Operations and Manipulation
Demonstrates indexed arrays in Bash including declaration, iteration, slicing, appending, sorting, and filtering with practical data processing examples.
Code
#!/usr/bin/env bash
set -euo pipefail
# Declare and initialize arrays
fruits=("apple" "banana" "cherry")
declare -a numbers=([0]=10 [1]=20 [5]=50)
# Access elements
echo "First: ${fruits[0]}"
echo "All: ${fruits[@]}"
echo "Count: ${#fruits[@]}"
# Append elements
fruits+=("date" "elderberry")
echo "After append: ${fruits[@]}"
# Slice arrays
echo "Slice 1-3: ${fruits[@]:1:3}"
echo "From index 2: ${fruits[@]:2}"
# Iterate with index
for i in "${!fruits[@]}"; do
echo " [$i] = ${fruits[$i]}"
done
# Remove element
unset 'fruits[1]'
fruits=("${fruits[@]}")
echo "After removal: ${fruits[@]}"
# Sort array
sorted=($(printf "%s\n" "${fruits[@]}" | sort))
echo "Sorted: ${sorted[@]}"
# Filter array
filtered=()
for fruit in "${fruits[@]}"; do
[[ ${#fruit} -gt 5 ]] && filtered+=("$fruit")
done
echo "Filtered (>5 chars): ${filtered[@]}"
# Unique elements
all=(1 2 3 2 1 4 5 3)
unique=($(printf "%s\n" "${all[@]}" | sort -u))
echo "Unique: ${unique[@]}"Report a problem with this exampleOpens a pre-filled issue on GitHub.