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[@]}"
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
- What is the purpose of the shebang line, and what does #!/bin/bash do? [Basic]
- What is the difference between sh and bash? [Basic]
- How do you make a script executable and run it? [Basic]
- What is the difference between running a script with ./script.sh, bash script.sh, and source script.sh? [Basic]
- What does sourcing a script do differently from executing it? [Basic]
- How do you declare a variable in Bash, and why are spaces around = not allowed? [Basic]
- What is the difference between $var and ${var}? [Basic]
- What is the difference between single quotes and double quotes in Bash? [Basic]