bash - append given variable in stream of cpp files using awk/sed by ignoring backslash -


i have variable in shell script follows:

 var=file1.cpp file2.cpp file3.cpp file4.cpp 

i want append "folder/subfolder/ " every .cpp file. use following sed command helps partially:

 echo $var | sed 's/^/'"$i"'\//g;s/\s/ '"$i"'\//g'    $i  --> "folder"  , sed adds "/" 

this sed able append "folder/" files.... unable append "folder/subfolder" every file.

how can modify sed add "folder/subfolder/" path files. can modify somehow ignore backslash "/ " in $i variable ( i.e. ignore "/" in folder/subfolder

you can use different delimiter sed #

also can combine s command single sed

example

$ echo $var | sed -r 's#(^| )#\1folder/subfolder/#g' folder/subfolder/file1.cpp folder/subfolder/file2.cpp folder/subfolder/file3.cpp folder/subfolder/file4.cpp 

or

if want use variables inside sed

$ re="folder/subfolder/" $ echo $var | sed -r "s#(^| )#\1$re#g" folder/subfolder/file1.cpp folder/subfolder/file2.cpp folder/subfolder/file3.cpp folder/subfolder/file4.cpp 

Comments

Popular posts from this blog

python - mat is not a numerical tuple : openCV error -

c# - MSAA finds controls UI Automation doesn't -

wordpress - .htaccess: RewriteRule: bad flag delimiters -