Interview Scripting (Bash, Groovy)

How do you split a string on a delimiter in Bash? [Intermediate]

Answer

For simple delimiters, I split a string by setting IFS and using read -r -a for arrays or read -r field1 field2 for named fields. For complex formats like quoted CSV, I use a real parser instead of Bash splitting.

Technical explanation

IFS splitting is good for simple colon-, comma-, or slash-separated strings without escaping rules.

Use a local IFS assignment on the read command to avoid changing global IFS.

Do not use naive Bash splitting for JSON, YAML, or real CSV with quotes; use jq, yq, Python, or a purpose-built parser.

Hands-on example

csv="api,8080,active"IFS=, read -r name port status <<< "$csv"echo "$name $port $status"

path="a/b/c"IFS=/ read -r -a parts <<< "$path"printf '<%s>\n' "${parts[@]}"

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Scripting (Bash, Groovy) interview questions

← All Scripting (Bash, Groovy) questions