Bash sed: Difference between revisions

From I Will Fear No Evil
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Line 13: Line 13:
* Will strip out IP addresses beginning with 172.
* Will strip out IP addresses beginning with 172.


== Replace in file only when matching regex ==
This will only alter values if the first arg matches
Nice for changing values in a script or ini
<pre>
sed -ie '/^foo/s/4/20/g' /tmp/b
cat /tmp/b
foo=20
foo=4
bar=5
bar=5
</pre>


[[Category:bash]]
[[Category:bash]]

Revision as of 12:18, 11 December 2023

Useful sed commands

cat foo | sed "1,/^stringMatch/d"

  • Will ignore all before string match until EOF
  • stringMatch must be start of line (^)

cat foo | sed "/^stringMatch2/q" | grep -v "^stringMatch2"

  • will match ALL until match ( and remove match string LINE)
echo "192.168.15.58 172.17.0.1 123.10.130.201" | sed 's/172.[[:digit:]]\+.[[:digit:]]\+.[[:digit:]]\+//'
192.168.15.58  123.10.130.201
  • Will strip out IP addresses beginning with 172.

Replace in file only when matching regex

This will only alter values if the first arg matches Nice for changing values in a script or ini

sed -ie '/^foo/s/4/20/g' /tmp/b

cat /tmp/b
foo=20
 foo=4
bar=5
 bar=5