sed -i 's/foo/bar/g' hello.txt
#on my mac
sed -i -e 's/old-text/new-text/g' text.txt
Just concatenate var '"$var"' to replace values string in sed command:
$ sed -i 's/string_to_replace/'"$var"'/g' file_to_replace.txt
sed -i "s/$var1/ZZ/g" "$file"
For substituting with newline use sed command to replace a match with a
not used char and tr command to replace that char with a newline '
'
#For example:
echo "123." | sed -E 's/([[:digit:]]*)./1|next line/' | tr '|' '
'
For using match in sed replacement, just border it with '(' and ')':
echo Before123 | sed 's/Before([0-9]*)/1After/g'
123After # number is matched withtin '( )' and replaced in '1'
Example with 2 match replacements
echo a_b | sed 's/(^.*)_(.*$)/first is 1 and 2 is after/g'
Use double quotes to make the shell expand variables while preserving whitespace:
sed -i "s/$var1/ZZ/g" "$file"
You can try this sed command
sed 's/,(.*china)/,Tomas_proxy.lt/1/' FileName
or
sed 's/,(.*china)/,Tomas_proxy.lt/1/' FileName > NewFile
or
sed -i.bak 's/,(.*china)/,Tomas_proxy.lt/1/' FileName
Just use a similar example with using ".*" regex with sed as following:
sed 's/match_pattern.*/replacement_of_match_and_rest_of_line/' file.txt