How to read output of sed into a variable

sed, shell, variables

Solution

You can use command substitution as:

new_filename=$(echo "$a" | sed 's/.txt/.log/')

or the less recommended backtick way:

new_filename=`echo "$a" | sed 's/.txt/.log/'`

Problem

I have variable which has value `"abcd.txt"`. I want to store everything before the `".txt"` in a second variable, replacing the `".txt"` with `".log"` I have no problem echoing the desired value: ``` a="abcd.txt" echo $a | sed 's/.txt/.log/' ``` But how do I get the value `"abcd.log"` into the second variable?

Original source

Related problems