Awk issue


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Awk issue
# 1  
Old 05-08-2008
Awk issue

Hi,

[root@skynet XDWLModule]# grep "^Listen" httpd.conf | awk '{print $2}'
FrontEnd_1_IP:8081
FrontEnd_2_IP:8081
8081
8082
8083
[root@skynet XDWLModule]#

I need to get the values one at a time but I just can't manage to do that.

Thanks,
Bianca
# 2  
Old 05-08-2008
Use a loop, something like:

Code:
grep "^Listen" httpd.conf | awk '{print $2}'| 
while read var 
do
  # do something with $var
done

Regards
# 3  
Old 05-08-2008
Quote:
Originally Posted by Franklin52
Use a loop, something like:

Code:
grep "^Listen" httpd.conf | awk '{print $2}'| 
while read var 
do
  # do something with $var
done

Regards
Thanks for the solution.

Now if I can continue with my issue:
I have read a number of 5 variables: LISTEN_PORT1, LISTEN_PORT2, LISTEN_PORT3, LISTEN_PORT4, LISTEN_PORT5

The file looks like this:
...
Listen FrontEnd_1_IP:8081
Listen FrontEnd_2_IP:8081
Listen 8081
Listen 8082
Listen 8083
....

I need to replace those values with the variables
Listen $LISTEN_PORT1
Listen $LISTEN_PORT2
etc

And another issue is that the number of the parameters in the file can be less or greater that the number of the variable but in the file I need to add al least this variables and ignore the rest.

Thanks a lot
Bianca
# 4  
Old 05-08-2008
What is the reason to grep for the lines of the file httpd.conf if you don't use them?

Regards
# 5  
Old 05-08-2008
Quote:
Originally Posted by Franklin52
What is the reason to grep for the lines of the file httpd.conf if you don't use them?

Regards
I read them, give them to user during install and they are able to chenge them and then put them back.

Regarding the while loop ... when I exit the while my variable are not set with the value set inside while:
j=1
grep "^Listen" httpd.conf | awk '{print $2}'|
while read var
do
# do something with $var
eval "LPORT"$j=$var
eval echo "\$LPORT$j"
j=$[j+1]
done
echo $LPORT1

The last echo is empty even if inside the while the echo have the proper value.

Bianca
# 6  
Old 05-08-2008
Is this what you expect:

Code:
awk '/^Listen/{print "LPORT"NR"="$2}' httpd.conf

Regards
# 7  
Old 05-08-2008
Quote:
Originally Posted by Franklin52
Is this what you expect:

Code:
awk '/^Listen/{print "LPORT"NR"="$2}' httpd.conf

Regards
No. I expect to replace the existing values:

Listen $LISTEN_PORT1
Listen $LISTEN_PORT2
Listen $LISTEN_PORT3
Listen $LISTEN_PORT4
Listen $LISTEN_PORT5

i=0
while [ $i -le $CRT ]
do
i=$[i+1]
awk '/^Listen/{print $1 " ""\$LISTEN_PORT$i"}' httpd.conf
done

But I get
awk: cmd. line:1: warning: escape sequence `\$' treated as plain `$'
Listen $LISTEN_PORT$i
Listen $LISTEN_PORT$i
Listen $LISTEN_PORT$i
Listen $LISTEN_PORT$i
Listen $LISTEN_PORT$i

And the values to be written in httpd.conf. Should SED be used in this case ?

And I come again with the question on why the variable value is lost when exiting this while:
j=0
grep "^Listen" httpd.conf | awk '{print $2}'|
while read var
do
eval "LPORT"$j=$var
eval echo "\$LPORT$j"
j=$[j+1]
done
echo $LPORT1

Thanks a lot for your time,
Bianca

Last edited by potro; 05-08-2008 at 11:22 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help with awk issue

OK, so I am trying to use awk as a method of accessing a table stored in a file to then provide the capability of a look up table. The table is stored in a file named "/Users/jhaney/Desktop/assetTypeMapping.tsv" and looks like this: aCategory aLetter aNumber AssetCat1 A 123 ... (10 Replies)
Discussion started by: jhaneyzz
10 Replies

2. Shell Programming and Scripting

awk - issue to get the right IP

On AIX 5.3 and AIX 6.1, I have this script for checking printers being pingable or not. for i in `lsallq` do echo "Queue Name: " $i echo "----------------------------------------" for j in `lsallqdev -q $i` do echo " Device Name:" $j hname=`echo... (3 Replies)
Discussion started by: Daniel Gate
3 Replies

3. Shell Programming and Scripting

Variable value substitution issue with awk command issue

Hi All, I am using the below script which has awk command, but it is not returing the expected result. can some pls help me to correct the command. The below script sample.ksh should give the result if the value of last 4 digits in the variable NM matches with the variable value DAT. The... (7 Replies)
Discussion started by: G.K.K
7 Replies

4. Shell Programming and Scripting

awk issue

Hi all, i am trying to use below command to see the output of hardware inventory, but i only see 2 first line no output of the command. awk '/Hardware/ {print $0}' XXX_result.txt Hardware inventory: Hardware inventory: any idea how to see whatever is under hardware inventory. i... (11 Replies)
Discussion started by: Jared
11 Replies

5. Shell Programming and Scripting

issue trying to use awk

Hi Gurus, I am facing a similar issue usiung an awk command. Below is my requirement: ---DATA--- A;F;G A;D;E A;D;E B;Z;P C;Z;Q Expected: A F<TAB>G D<TAB>E D<TAB>E B D<TAB>E (1 Reply)
Discussion started by: rajangupta2387
1 Replies

6. Shell Programming and Scripting

AWK Issue

Hey, this is my code, cat $fulltrpath | while read line do inputfile=$(sed 1q $fulltrpath | awk '{ FS = "\t"; print $2$1}') outputpath=$(sed 1q $fulltrpath | awk '{ FS = "\t"; print $3 }') echo $inputfile echo $outputpath cp $inputfile $outputpath let path++ done if i... (1 Reply)
Discussion started by: inshafccna
1 Replies

7. Shell Programming and Scripting

awk NR issue

Hi guys, i am trying to analyze a text file using awk and am not able to solve this issue. This is the piece of code that I have written BEGIN { ## Time to count MACs -> 5 seconds. TIME_LIMIT = 5; k = 50000; } ## For every line. { time_in_seconds = $1... (2 Replies)
Discussion started by: jamie_123
2 Replies

8. Shell Programming and Scripting

Issue with AWK

I have this input file 0FB7,1083,Synchronized,FriNov121655,2816_7RAID5,05F:1_10F:1,10000000NoneNone,DC_db00p01 0FB7,1150,Split,MonApr180658,2816_7R5GC,N/A,N/A,N/A 06C4,0710,Synchronized,WedMar91105,2816_7RAID5,04E:1_11E:1,10000000NoneNone,DL_nb00p25... (1 Reply)
Discussion started by: greycells
1 Replies

9. Shell Programming and Scripting

Issue in awk

In the following code, Im trying to imbed many statements in a single awk statement. But it gives an error on that, for i in `less usage_types_dwh.txt` do cd /u01/app/evident/analysis_lab/usg_type grep $i svc_type.txt | head -1 | awk 'BEGIN {FS=","} {print $1 "==" $2 ":" $3 ":" $4;... (2 Replies)
Discussion started by: alishehzadpaul
2 Replies

10. Shell Programming and Scripting

Awk issue

Can someone please explain below code. $LIST|awk ' /^$/ { next } substr($0,1,4)=="Exiting" { mk = 1; next } mk==1 { print $3,$7,$10,$14; exit } Cheers, gehlnar (5 Replies)
Discussion started by: gehlnar
5 Replies
Login or Register to Ask a Question