I have to replace a specific line of a file with some other value. for eg: I have a file with content as below:
request.timing=0/10 * * * * * ?
Now, I want to replace 10 (or to be specific, any value in that place) with a dynamic value. Eg, if I want to replace that with 20, the file should be updated as:
request.timing=0/20 * * * * * ?
Can someone help me? I am using sed as below:
sed -i "s/request.timing=0\/??/request.timing=0\/$poller"
where poller is dynamic value we pass.
First of all, you must check the characters the variable $poller has, because sed can interpret any character in there as a special one. Once you have checked that, use a sed separator which is not inside $poller. Let's suppose we can use /:
sed -r 's/(request.timing=0\/)[0-9]{2}/\1'"$poller"'/g'
-r option activates extended regular expressions so you can use things like [0-9]{2}, and with ( ... ) you're capturing the string to use in the replacement site.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With