The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 07-17-2008
gugs gugs is offline
Registered User
  
 

Join Date: Jul 2008
Posts: 44
Please help: Build a sed command and execute it in a script

I am using an array to store some data (keys e.g 47975081_1215781266128), it can be assumed that it is key to other data.

I want extract data from a file based on a couple of keys (range) and store the resulting data in a variable using the following command:
sed -n '/47975081_1215781266128/,/42628155_1215781428374/p' test1.txt

In my script I build a sed command and write it to a temp file using the code below:
Range1="${keys[$i]}"
Range2="${keys[$i+1]}"
a="sed -n '/"
b="/,/"
c="/p'"
d=" test1.txt"
echo "$a$Range1$b$Range2$c$d" > temp.txt

This works ok, it writes the following string to the temp file:
sed -n '/08465696_1215781522540/,/70225547_1215781581748/p' test1.txt

Then I grep this file and assign the contents to a variable
sedcmd=$(grep sed temp.txt)

However, the string that is extracted has other characters attached, the grep extracts:
sed -n ''\''/08465696_1215781522540/,/70225547_1215781581748/p'\''' test1.txt

It has added: ''\' before the '/08465.... and \''' after the ....48/p'
Can someone please tell me why? and how I can extract exactly what is in the temp.txt file and run it.

Basically, I want to build a command, run it and assign the resulting contents to an array.