Interview › Scripting (Bash, Groovy)
What is the difference between sed -i and sed without -i? [Advanced]
Answer
sed without -i streams the modified result to stdout and leaves the source file unchanged. sed -i edits the file in place, optionally creating a backup depending on the argument used.
Technical explanation
Without -i is safer for previewing, pipelines, and redirection to a new file.
With -i is convenient but can be risky if the expression is wrong or portability across GNU/BSD sed matters.
In automated scripts, prefer creating a backup or using a temp file plus atomic mv for critical files.
Hands-on example
# Safe preview
sed 's/replicas: 1/replicas: 3/' deploy.yaml > deploy.new.yaml
mv deploy.new.yaml deploy.yaml
# GNU sed in-place with backup
sed -i.bak 's/replicas: 1/replicas: 3/' deploy.yaml
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]