Bash sed: Difference between revisions
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 11: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