The UNIX and Linux Forums  
Hello and Welcome from 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 05-26-2009
dhibbit dhibbit is offline
Registered User
  
 

Join Date: May 2009
Posts: 3
variable redirect messing up a sed command.

Not sure if that title is decent, but here we go. I'm running this string of commands:

Code:
qstat -f $1 | sed 's/^[ \t]*//' | sed -n -e ":a" -e "$ s/\n//gp;N;b a" | sed 's/\\,/,/' | awk -F"PBS_O_WORKDIR=" '{print $2}' | awk -F",PBS_O_SYSTEM" '{print $1}'
In case you're curious is takes the output of a PBS queue, removes all the leading spaces, removes all the linebreaks, removes the backslash escape character in front of any commas, then grabs the output between two strings, effectively extracting a variable from a large mess of output from PBS.

When I run that, it works just fine, all steps work perfectly. However, when I direct the output into a variable, the sed command to remove the backslash fails.

So, I simplified the problem:

echo "Hello\,World" | sed 's/\\,/,/' --> "Hello,World"
var=`echo "Hello\,World" | sed 's/\\,/,/'`; echo $var --> "Hello\,World"

any thoughts?