String Replace in Shell with sed [RE#4]
Babak K. Shandiz
Posted on August 13, 2021
Though 99% of the time we use a text editor like vim
or nano
, still knowing how to do simple string manipulations via shell commands is more than necessary. The simplest use case emerges in CI/CD pipeline where you may need to replace some placeholder with a specific text (e.g., a dynamic docker image tag). 🤖
One simple tool for this purpose is sed
. For example, to replace “[tag]” with “abcdef” execute:
echo "docker push -t app:[tag]" | sed -e 's/[tag]/abcdef/g'
You can also use sed
just like grep
and pass a file to be used as the input stream:
sed -e 's/[tag]/abcdef/g' input-file.txt
You may add more expressions by adding any number of -e expression
arguments:
sed -e 's/[tag]/abcdef/g' -e 's/[image]/app/g' input-file.txt
ℹ️ To learn more useful applications of sed
have a look at this article.
About Regular Encounters
I’ve decided to record my daily encounters with professional issues on a somewhat regular basis. Not all of them are equally important/unique/intricate, but are indeed practical, real, and of course, textually minimal.
Posted on August 13, 2021
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.