ksh help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting ksh help
# 8  
Old 08-18-2011
I'm embarrassed! I went back and discovered I tested only against the line with PORT and not the whole file. Grrr!!

The awk itkamaraj posted is much cleaner, but it can be done in sed:

Code:
your-command| sed 's/.*PORT =/PORT =/; T del; s/).*//; t; :del d'

# 9  
Old 08-18-2011
Thanks

by combining 2 commands it's giving the output :
Code:
tnsping abc | sed 's/.*\(PORT =\)/\1/; s/).*//' | nawk -F"=" '/PORT/ {print $2}'

3202

this the value of port ( and this is what I want)

is there way to combine these two ?

Thanks

Last edited by Scott; 08-18-2011 at 12:47 PM.. Reason: Code tags
# 10  
Old 08-18-2011
Does this not work by itself?

Code:
tnsping abc | sed 's/.*PORT =//; T del; s/).*//; t; :del d'

I noticed you had my old, and very wrong, original post. This is the one that I believe should do the trick.

---------- Post updated at 23:55 ---------- Previous update was at 23:53 ----------

I also see that itkamaraj's awk works only on the output of my bad command, not on the output of your command. Didn't catch that before.

---------- Post updated at 23:59 ---------- Previous update was at 23:55 ----------

And if that sed doesn't work (I have a version of sed that doesn't like that syntax), here's an awk that should work in every environment:

Code:
tnsping abc | awk '/PORT =/ { gsub( ".*PORT =", "" ); gsub( ").*", "" ); print; }'


Last edited by agama; 08-18-2011 at 01:01 AM.. Reason: realised you don't want PORT = in the output; fixed
# 11  
Old 08-18-2011
Thanks for your help . It's still failing ...
Code:
tnsping abc | awk '/PORT =/ { gsub( ".*PORT =", "" ); gsub( ").*", "" ); print; }'
awk: syntax error near line 1
awk: illegal statement near line 1
awk: syntax error near line 1
awk: illegal statement near line 1

Thanks

Last edited by Scott; 08-18-2011 at 12:48 PM.. Reason: Code tags
# 12  
Old 08-18-2011
Code:
 
$nawk -F"[)(]" ' /PORT/ {for(i=1;i<=NF;i++){if($i~/PORT/)print substr($i,index($i,"= ")+2,length($i))}}' test                                             
1521
 
$ cat test 
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = key))) (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = host.domain)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = instance_name) (INSTANCE_NAME = instance_name)))
OK (20 msec)

# 13  
Old 08-18-2011
Code:
awk '/PORT =/ { gsub( ".*PORT =", "" ); gsub( ").*", "" ); print; }'

this is not working on Solaris . Is this because of gsub ?

Thanks
# 14  
Old 08-18-2011
Quote:
Originally Posted by talashil
this is not working on Solaris . Is this because of gsub ?
Yes. Use nawk or /usr/xpg4/bin/awk on Solaris.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

ksh

Hi Dears kindly I am new here ...I want to ask your help ... I want to write AWK command when enter date like 20140129 plus 9 then it gives me 20140207 I wrote below but the result was wrong #!/bin/ksh echo "please input the data:" read a if echo $a|awk '{if... (15 Replies)
Discussion started by: shaho87
15 Replies

2. Shell Programming and Scripting

Need help with ksh

I have the following file: one two three four man women yes no place togo bad sleep I need to move all lines that have only two words(columns) in a separate file and the rest in a separate file... I used : for $linecont in $(cat $filename); do echo $linecont > temp line1='cat... (7 Replies)
Discussion started by: daimne
7 Replies

3. Shell Programming and Scripting

different behaviour for ksh and ksh -x

I'm getting different behaviour when executing below script in debug option. $ cat ss.ksh ff=$(pwd) echo " ff : $ff" $ ksh ss.ksh ff : /tmp $ ksh -x ss.ksh + + pwd ff= + echo ff : ff : I was getting this behaviour in my actuall script i'm able to reproduce this in simple script... (4 Replies)
Discussion started by: luckybalaji
4 Replies

4. UNIX for Dummies Questions & Answers

Difference Between executing llike ./myscript.ksh and . ./myscript.ksh

Hi , What is the diffence between executing the script like ./myscript.ksh . ./myscript.ksh I have found 2 difference but could not find the reason 1. If i export a variable in myscript.ksh and execute it like . ./myscript.ksh the i can access the other scripts that are present in... (5 Replies)
Discussion started by: max_hammer
5 Replies

5. Shell Programming and Scripting

KSH script to run other ksh scripts and output it to a file and/or email

Hi I am new to this Scripting process and would like to know How can i write a ksh script that will call other ksh scripts and write the output to a file and/or email. For example ------- Script ABC ------- a.ksh b.ksh c.ksh I need to call all three scripts execute them and... (2 Replies)
Discussion started by: pacifican
2 Replies

6. Shell Programming and Scripting

Need help on ksh

1. Script using bash #!/bin/bash a=4294967296 (( b=$a / 2 )) echo "$a" echo "$b" *** output *** 4294967296 2147483648 2. Script using ksh #!/bin/ksh a=4294967296 (( b=$a / 2 )) echo "$a" echo "$b" *** output *** 4294967296 (3 Replies)
Discussion started by: gautam.shrestha
3 Replies

7. Shell Programming and Scripting

Help with KSH

Hi, I need some help with the Ksh scripting.... I have a Script call Mail.ksh which calls Crank.ksh which calls Readdates.ksh whoch calls mindiff.ksh the output of mindiff.ksh and Readdates.ksh are wirtten to a text file... Here is how each file is called or executed... ./Mail.ksh 30... (3 Replies)
Discussion started by: bhagya2340
3 Replies

8. Shell Programming and Scripting

import var and function from ksh script to another ksh script

Ih all, i have multiples ksh scripts for crontab's unix jobs they all have same variables declarations and some similar functions i would have a only single script file to declare my variables, like: var1= "aaa" var2= "bbb" var3= "ccc" ... function ab { ...} function bc { ... }... (2 Replies)
Discussion started by: wolfhurt
2 Replies

9. Shell Programming and Scripting

tracing a ksh script within a ksh script

I normally trace a script with the ksh -x <script name> and redirect strderr to file. But if you have a script like the examble below...... vi hairy bear=`grep bear animals` if then ksh more_animals fi If I ksh -x hairy it won't trace "more_animals" unless I put a -x in it. Is... (1 Reply)
Discussion started by: shorty
1 Replies

10. Shell Programming and Scripting

executing a ksh script from another ksh script

Hi, I'm new to unix scripting.How can i call a script from another script. I have a.ksh and b.ksh .I have to call b.ksh from a.ksh after it is successfully exceuted. I tried using #!/bin/ksh -x in a.ksh and at the end i have used /path/b.ksh My problem is it is executing only a.ksh.it... (6 Replies)
Discussion started by: ammu
6 Replies
Login or Register to Ask a Question