DEV Community

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.

Billboard image

Deploy and scale your apps on AWS and GCP with a world class developer experience

Coherence makes it easy to set up and maintain cloud infrastructure. Harness the extensibility, compliance and cost efficiency of the cloud.

Learn more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up