Grep works on Linux but fails on Solaris


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep works on Linux but fails on Solaris
# 1  
Old 05-23-2016
Grep works on Linux but fails on Solaris

Hi,

On linux i have the below command working fine.

Code:
grep -o '<name>.*</name>' deploy.tmp | sed 's/\(<name>\|<\/name>\)//g' deploy.tmp

But the same is failing on Solaris
Code:
uname -a
SunOS mymac 5.10 Generic_150400-23 sun4v sparc sun4v

Can you tell me how can i get it work on Solaris ? Whats the alternate to grep -o ?
# 2  
Old 05-23-2016
Assuming that there is no more than one "name" tag on a line in deploy.tmp and that no line in deploy.tmp contains more than 2047 bytes, the following should work:
Code:
sed -n -e 's/^.*<name>//' -e 's|</name>.*$||'p deploy.tmp

If more than one "name" tag can appear in your input, please show us a sample of your input and the output you want to produce from that input.
This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 05-23-2016
Quote:
Originally Posted by Don Cragun
Assuming that there is no more than one "name" tag on a line in deploy.tmp and that no line in deploy.tmp contains more than 2047 bytes, the following should work:
Code:
sed -n -e 's/^.*<name>//' -e 's|</name>.*$||'p deploy.tmp

If more than one "name" tag can appear in your input, please show us a sample of your input and the output you want to produce from that input.
Sure, I can check that and let you know tomorrow.
# 4  
Old 05-25-2016
Quote:
Originally Posted by Don Cragun
Assuming that there is no more than one "name" tag on a line in deploy.tmp and that no line in deploy.tmp contains more than 2047 bytes, the following should work:
Code:
sed -n -e 's/^.*<name>//' -e 's|</name>.*$||'p deploy.tmp

If more than one "name" tag can appear in your input, please show us a sample of your input and the output you want to produce from that input.
It works !! Thank you !
# 5  
Old 05-25-2016
grep -o on Linux is sed lite for lazy people on Solaris Smilie Perhaps your Solaris has /usr/sfw/bin/ggrep which supports the -o option.
This User Gave Thanks to Scott For This Post:
# 6  
Old 05-25-2016
I think that .* at the beginning or end does not need an anchor ^ or $

The following ensures that <name> is left from </name> i.e. is more close to the original grep expression.
Code:
sed -n 's|.*<name>\(.*\)</name>.*|\1|p' deploy.tmp

# 7  
Old 05-26-2016
if you have perl on solaris...
Code:
perl -ne 'if (/<name>(.*)<\/name>/) {print "$1";}' deploy.tmp

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. 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

5. Shell Programming and Scripting

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... (6 Replies)
Discussion started by: Yugendra
6 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