Before starting with some command examples let us take a file sample output where we want to perform our sed operation.
Sample File "/tmp/file" with below content
# Port rpc.statd should listen on.
STATD_PORT=662
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020
Specify callout program
STATD_HA_CALLOUT="/usr/local/bin/foo"
Add content at the beginning of the line
Example 1
Add a "#" comment hash in the beginning of line containing "<span style="color: purple;">STATD_PORT</span>
"
Solution
# sed '/STATD_PORT/ s/^/#/' /tmp/file
# Port rpc.statd should listen on.
#STATD_PORT=662
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020
Specify callout program
STATD_HA_CALLOUT="/usr/local/bin/foo"
To do in place replacement
# sed -i '/STATD_PORT/ s/^/#/' /tmp/file
Example 2
What if the text to be matched in somewhere in the middle of the line
Here match "callout" and add a "#" comment hash in the beginning of the line
Solution
# sed '/callout/ s/^/#/' /tmp/file
# Port rpc.statd should listen on.
STATD_PORT=662
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020
#Specify callout program
STATD_HA_CALLOUT="/usr/local/bin/foo"
To do in place replacement use below command
# sed -i '/callout/ s/^/#/' /tmp/file
Example 3
You can use the same command to add in some text or word in the beginning of the line of the matched pattern, just replace the "#" with "your text"
For eg
# sed '/callout/ s/^/your text /' /tmp/file
# Port rpc.statd should listen on.
STATD_PORT=662
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020
your text Specify callout program
STATD_HA_CALLOUT="/usr/local/bin/foo"
Add content at the end of the line
Example 1
Add 'your text' at the end of the line which matches 'callout'
# sed '/callout/ s/$/ your text/' /tmp/file
# Port rpc.statd should listen on.
STATD_PORT=662
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020
Specify callout program your text
STATD_HA_CALLOUT="/usr/local/bin/foo"
To do the same "in place" replacement
# sed -i '/callout/ s/$/ your text/' /tmp/file
Example 2
Match any text starting with "STATD" and add "your text" at the end of all the matching lines
# sed '/^STATD/ s/$/ your text/' /tmp/file
# Port rpc.statd should listen on.
STATD_PORT=662 your text
Outgoing port statd should used. The default is port
# is random
STATD_OUTGOING_PORT=2020 your text
Specify callout program
STATD_HA_CALLOUT="/usr/local/bin/foo" your text
To do "in place" replacement
# sed -i '/^STATD/ s/$/ your text/' /tmp/file