Skip to content

Latest commit

 

History

History
97 lines (59 loc) · 1.14 KB

File metadata and controls

97 lines (59 loc) · 1.14 KB

Agenda

My favourite sed tricks


Search and replace


Search and replace - one

$ echo orange orange orange | sed s/orange/apple/

Search and replace - all

$ echo orange orange orange | sed s/orange/apple/g

Search (no replace)


Search (no replace)

grep = g/re/p


Search (no replace)

$ cat pom.xml | sed -n /important/p
$ cat pom.xml | sed -n /important/Ip

More advanced search and replace

$ cat pom.xml | sed -rn 's#<artifactId>(.*)</artifactId>#\1#p'

Even more advanced search and replace

Working on blocks of text


Even more advanced search and replace

cat pom.xml | sed -nr '/<plugin>/,/<\/plugin>/{
  s#<version>(.*)</version>#\1#p
}'

If your sed starts growing

#! /bin/sed -rnf

$ cat pom.xml | ./version.sed

Summary

  • Search and replace
  • Great for searching too
  • Line based
  • Can work on blocks too

Delve further