Forem

Babak K. Shandiz
Babak K. Shandiz

Posted on • Originally published at babakks.github.io on

1

String Replace in Shell with sed [RE#4]

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'

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

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

Enter fullscreen mode Exit fullscreen mode

ℹ️ 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.

Image of Datadog

The Future of AI, LLMs, and Observability on Google Cloud

Datadog sat down with Google’s Director of AI to discuss the current and future states of AI, ML, and LLMs on Google Cloud. Discover 7 key insights for technical leaders, covering everything from upskilling teams to observability best practices

Learn More

Top comments (0)