Bash

Split String into Array on Delimiter

admin by @admin ADMIN
5d ago
May 31, 2026
Public
0 0 up · 0 down Sign in to vote
Use IFS + read or readarray to split safely. Don't use word-splitting tricks — they break on edge cases (empty fields, spaces in values).
Bash
Raw
csv="alice,bob,cara,dave"

# Method 1: IFS + read
IFS=',' read -r -a arr <<< "$csv"
printf '%s\n' "${arr[@]}"
# alice
# bob
# cara
# dave

# Method 2: readarray (one line per element)
multiline=$'red\ngreen\nblue'
readarray -t colors <<< "$multiline"
echo "${#colors[@]}"        # 3
echo "${colors[1]}"         # green
Tags

Save your own code snippets

Create a free account and build your private vault. Share publicly whenever you want.