![]() |
|
|
|
|
|||||||
| Forums | Portal | Register | Rules & FAQ | Contribute | Members List | Arcade | Search | Today's Posts | Mark Forums Read |
| Shell Programming and Scripting Post questions about KSH, CSH, SH, BASH, PERL, PHP, SED, AWK and OTHER shell scripts here. |
|
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| sql scripting help | sam786 | Shell Programming and Scripting | 3 | 12-10-2007 08:31 AM |
| difference between AIX shell scripting and Unix shell scripting. | haroonec | Shell Programming and Scripting | 2 | 04-12-2006 05:12 AM |
| scripting guru's pls help me with scripting on AIX | thatiprashant | Shell Programming and Scripting | 1 | 01-20-2006 03:58 PM |
| Scripting? | woofie | What's on Your Mind? | 1 | 03-09-2005 03:03 AM |
| scripting | BigTool4u2 | Shell Programming and Scripting | 1 | 11-21-2002 09:20 AM |
|
|
LinkBack | Thread Tools | Display Modes |
|
|||
|
ksh scripting help
I have the file as below
server1 no dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server2 no dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server3 yes dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle server4 yes dr aix 5300-05-03 9119-595 20-18888 yes ftp-eagle When I run below from the shell :- #FileName=/list.config #cat $FileName | grep -v "#" | sed -e 's/ / /g' | awk '{print $1,$2}'| grep -w yes| cut -d' ' -f1 server3 server4 Now when I run from the shell script in this way:- #!/bin/ksh FileName=/list.config awkfilter="$1,$2" filter_string="yes" temp_str=(cat $FileName | grep -v "#" | sed -e 's/ / /g' | awk '{print '$awk_filter'}' | grep -w "$temp_str1$Filter_String" |cut -d' ' -f1) echo $temp_str ####### is not giving the same above output that gave me from the shell. The set -x for the cat in the script is :- + + cat /list.config + grep -v # + sed -e s/ / /g + awk {print $1,$2} + cut -d -f1 + grep -w yes temp_str= + echo Can somebody please help me out to find why its not working inside the script? Last edited by praveenbvarrier; 04-15-2008 at 06:48 AM. |
| Forum Sponsor | ||
|
|
|
|||
|
NOw that the above problem is solved , I am stuck up with another grep issue,
I replaced the cat like below:- cat $FileName | grep -v "#" | sed -e 's/ / /g' | awk '{print '$awk_filter'}' | grep -w $Filter_String this works only if Filter_string has one word , if it has two words like "yes dr" then it gives grep: 0652-033 Cannot open dr". Here the grep is not taking the entire content of the $Filter_String to search ,rather it tries to search to search yes in the file dr. How we avoid this. Last edited by praveenbvarrier; 04-15-2008 at 08:15 AM. |
|||
| Google UNIX.COM |