First find the line number:
awk '/what you are searching for/{ print NR; exit }' input-file
86
Now use sed to replace it:
sed -i 86s/.*/"your replacement text"/ $file
Here is a full sample script to automate it:
file=some/f........
This is especially helpful if you run your own servers. If you are presented with an error message or warning that the signature has changed or does not match the IP/domain you are connecting to you always want to verify manually.
So your e-mail/web client will show you an SHA-1 fingerprint like this:
"Could not verify this certificate because the issuer is unkown" or other reasons such as a mismatch in IP/domain.
It will also show you........
sedcommand="$line"s
sed -i $sedcommand/.*/"$newline"/ $location
The variable "line"should be the actual line number you want to replace. The above format is necessary otherwise (to break the "$line"s into it's own variable for it to work.........
This happens all the time, you are reading from a textfile which has spaces eg:
datainfo 00
datainfo 11
If you do loop on it like this:
for info in `cat $file`; do
echo "info=$info"
done
It will treat datainfo and 00 as two separate lines:
info=datainfo
info=00
Obviously that's not what we want and there are many weird solutions in bash bu........