Script works with Linux not with Solaris


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Script works with Linux not with Solaris
# 1  
Old 07-25-2013
Script works with Linux not with Solaris

Hi I have the following script which works in Linux shell but gives issues with Sun OS Solaris 5.10,

What i am trying to achieve here is we have a list of file names in list.txt file and we parse each file at a time for a particular pattern and copt next 4 lines after we hit the pattern to a file called report.txt

Code:
#!/bin/ksh 

grep ^Table results.txt  | grep :$ > $HOME/list.txt
 
cat $HOME/list.txt | while read line
 
do
 
echo $line
echo "***********************************" >>$HOME/Report
 
grep -A 5 "$line" results.txt >>$HOME/Report
 
echo "**********************************" >>$HOME/Report
 
done

when we use grep -A we get illegal option error, we used grep in /usr/xpg4/bin/grep still we face same issue and When we uncomment awk and use it the file prints nothing.

Please help
# 2  
Old 07-25-2013
-A is a GNUism. Switch to awk, or use /usr/sfw/bin/ggrep.
# 3  
Old 07-25-2013
GNU Grep was included with Oracle Solaris 10 1/13
# 4  
Old 07-25-2013
This (perhaps with a minor tweaking) should work for you:
Replace
Code:
grep -A 5 "$line" results.txt >>$HOME/Report

with
Code:
awk -v line=$line '/'$line'/&&p=1;p&&p++>1&&p<7' results.txt >> $HOME/Report

That will redirect the line that matches the pattern and the next four lines to the file $HOME/Report
If you need further help, do not hesitate to let us know.
# 5  
Old 07-25-2013
Code:
awk -v line=$line '($0 ~ line)&&p=1;p&&p++>1&&p<7' results.txt >> $HOME/Report

# 6  
Old 07-25-2013
Quote:
Originally Posted by Corona688
Code:
awk -v line=$line '($0 ~ line)&&p=1;p&&p++>1&&p<7' results.txt >> $HOME/Report

Almost nailed it, though Smilie.
# 7  
Old 07-25-2013
Corona688 and gacanepa both missed a key point here. Unless they know that Yugendra's $PATH setting includes /usr/xpg4/bin or /usr/xpg6/bin before /bin and /usr/bin, they should explicitly use /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk instead of awk in this script for it to work on Yugendra's Solaris systems.
These 2 Users Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find command works on Linux but fails on Solaris.

Hi, I am looking for a generic find command that works on both Linux and Solaris. I have the below command that works fine on Linux but fails on solaris.find /web/config -type f '(' -name '*.txt' -or -name '*.xml' -name '*.pro' ')' Fails on SunOS mysolaris 5.10 Generic_150400-61 sun4v sparc... (1 Reply)
Discussion started by: mohtashims
1 Replies

2. Shell Programming and Scripting

sed works on Linux but fails on Solaris

Hi, On Linux i get the desired ouput: echo "<value>WEB_USER</value>" | sed 's/\(<value>\|<\/value>\)//g'Output: Executing the same command on Solaris: echo "<value>WEB_USER</value>" | sed 's/\(<value>\|<\/value>\)//g'Output: I need to get the desired output on Solaris i.e. WEB_USER and... (4 Replies)
Discussion started by: mohtashims
4 Replies

3. Shell Programming and Scripting

awk works on Linux but fails on Solaris

On linux i have the below command working fine. awk '/<app-deploy>/{A=1;++i} /<\/app-deploy>/{print >> "found"i".tmp";A=0} A{;print >> "found"i".tmp"}' deploy.xml But the same is failing on Solaris Output: awk: syntax error near line 1 awk: bailing out near line 1 uname -a SunOS mymac 5.10... (5 Replies)
Discussion started by: mohtashims
5 Replies

4. Shell Programming and Scripting

Grep works on Linux but fails on Solaris

Hi, On linux i have the below command working fine. grep -o '<name>.*</name>' deploy.tmp | sed 's/\(<name>\|<\/name>\)//g' deploy.tmp But the same is failing on Solaris uname -a SunOS mymac 5.10 Generic_150400-23 sun4v sparc sun4v Can you tell me how can i get it work on Solaris ?... (6 Replies)
Discussion started by: mohtashims
6 Replies

5. Solaris

Samba idmap ldap: works perfect on Linux,bad on Solaris and hpux

I have configured samba for working with and external ldap(ad windows2003+openldap backend to obtain the same uid and gid on all linux machines) On linux works perfect,and i get the same uid for a X user on all machines. On solaris11 and hpux 11.31 not wbinfo -u works fine wbinfo -g works... (0 Replies)
Discussion started by: Linusolaradm1
0 Replies

6. Shell Programming and Scripting

awk -F works on Linux, but not on Solaris

Hello, I found this command works on Linux: $ echo `uptime` | awk -F "load average: " '{ print $2 }' 1.60, 1.53, 1.46 but got error on Solaris: $ echo `uptime` | awk -F "load average: " '{ print $2 }' awk: syntax error near line 1 awk: bailing out near line 1 $ which awk... (2 Replies)
Discussion started by: seafan
2 Replies

7. Shell Programming and Scripting

Delete rest of line with sed works on Linux but not on Solaris

Hi all, Our application installation uses "sed" command to delete rest of line. It work perfect on Linux but fail on Solaris. The OS versions are Solaris 9 and Linux Red Hat AS 3. yourfile.txt hello and world cat and dog hello world in linux: cat yourfile.txt | sed ‘s/\(\+\)... (3 Replies)
Discussion started by: javac2005
3 Replies

8. Shell Programming and Scripting

Script works on Solaris, not on Linux

I'm in the same boat as Barbus - same exercis (https://www.unix.com/shell-programming-scripting/43609-processes-users.html) The following script works on a solaris server I have access to. It doesn't however, work on the companies Linux machine. Any idea what's up? I have very little shell... (1 Reply)
Discussion started by: Silverhood
1 Replies

9. Shell Programming and Scripting

Script works on Solaris, not on Linux

I'm in the same boat as Barbus - same exercis (https://www.unix.com/shell-programming-scripting/43609-processes-users.html) The following script works on a solaris server I have access to. It doesn't however, work on the companies Linux machine. Any idea what's up? I have very little shell... (0 Replies)
Discussion started by: Silverhood
0 Replies

10. Shell Programming and Scripting

Appending line with sed works on Linux but not on Solaris

Hi folks, Our application installation uses "sed" command to append string after specific line or after line number. Both cases work perfect on Linux but fail on Solaris. The OS versions are Solaris 9 and Linux Red Hat AS 3. i.g: Linux: ----- file foo.txt aaa bbb ccc ddd root#... (4 Replies)
Discussion started by: nir_s
4 Replies
Login or Register to Ask a Question