Problem using AWK


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Problem using AWK
# 1  
Old 07-27-2011
Problem using AWK

PHP Code:
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 

for $(variables) i will pass the parameters

every time i will skip one attribute and execute the command

example looks like this
In the first iteration authenticationserver $serviceName should be skipped

PHP Code:
add service -connectorType connectorType -ipAddress $ipAddress -port $port -domain  $domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
in the second iteration -connectorType $connectorType should be skipped and so on


PHP Code:
add service authenticationserver $serviceName -ipAddress $ipAddress -port $port -domain  $domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 

i tried by using the awk and cut


Code:
cat kalyan.txt | grep -v `awk  -F"-" '{ print $10}' /tmp/kalyan.sh`

nothing is displayed

Code:
cat kalyan.sh | awk  -F"-"  '{ print $10}'

Code:
# awk  -F"-" '{ print $2}' /tmp/kalyan.sh
authenticationserver $serviceName

my assumption is to catch the attribute and negate in the above command

---------- Post updated 07-27-11 at 12:48 AM ---------- Previous update was 07-26-11 at 09:18 AM ----------

how to impliment it ... can any one give a clue

---------- Post updated at 12:49 AM ---------- Previous update was at 12:48 AM ----------

can any one give a clue..

Last edited by radoulov; 07-26-2011 at 12:42 PM.. Reason: Code tags.
# 2  
Old 07-27-2011
I'm not sure I understand the requirement ...

This code:

Code:
p='authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password  -iconPath $iconPath -description $description'

awk -v p=$p 'BEGIN {
  n = split( p, t )
  for ( i = 0; ++i <= n; )  
    if ( t[i - 1] ~ /^-/ && t[i - 1] = t[i - 1] FS t[i] ) delete t[i]
  for ( i = 0; ++i <= n; ) t[i] && t[++c] = t[i]  
  print "add service", p	 
  for ( i = 0; ++i <= c; ) {
   for ( j = 0; ++j <= c; ) {
    if ( j == 1 ) printf "add service%s", FS
	if ( j == i ) continue
    if ( t[j] ) 
	  printf "%s", ( t[j] FS ) 	 
	   }
    print x	   
	 } 
   }'


Produces the following output:


Code:
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password  -iconPath $iconPath -description $description
add service -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -connector $connector -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -userName $userName -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -password $password -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -iconPath $iconPath -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -description $description 
add service authenticationserver*$serviceName -connectorType $connectorType -ipAddress $ipAddress -port $port -domain *$domain -authenticationType $authenticationType -connector $connector -userName $userName -password $password -iconPath $iconPath

# 3  
Old 07-27-2011
Don't quite understand the requirement. Anyway, the below code will give you an idea:
Code:
awk '
iteration==0 && / authenticationserver[*][$]serviceName/ {
	sub("authenticationserver[*][$]serviceName", "")
	print
	++iteration
	next
}
iteration==1 && / -connectorType [$]connectorType/ {
	sub("-connectorType [$]connectorType", "")
	++iteration
	print
}' kalyan.txt

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk problem

Hi I have two columns and I would like to create a third column based on how many lines away from a value of 1 in column 2, for example I have 1,0 2,0 3,0 4,0 5,0 6,1 7,0 8,0 9,0 10,0 11,1 And I want an output (6 Replies)
Discussion started by: garethsays
6 Replies

2. Shell Programming and Scripting

awk problem

i have an email list in file.txt with comma separated line1 - FIELD1,pippo@gmail.com,darth@gmail.com line2 - FIELD2,pippo@gmail.com,darth@gmail.com,sampei@gmail.com output=(awk -F ',' -v var="$awkvar" '$1==var {print $2,$3,$4}' spreadsheet.txt)but awk delete some letters at the... (8 Replies)
Discussion started by: pasaico
8 Replies

3. Shell Programming and Scripting

awk problem - combining awk statements

i have a datafile that has several lines that look like this: 2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4 using the following command: awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies

4. UNIX for Dummies Questions & Answers

Little problem with AWK

I thought I had solved this problem but after testing the script I came to realize that it is not doing what I need. So, here it goes again. This is the code: awk '/\>/{F=$2; N=$3; split(FILENAME, A, "."); getline; x = ">"}{print ">" A"-" x++" "F" " N"\n" $0}' This is the input file: ... (5 Replies)
Discussion started by: Xterra
5 Replies

5. Shell Programming and Scripting

awk problem

Find the number of files with sizes > 100KB in /, /bin, /usr, /usr/bin and /usr/sbin directories and output them in a two column format with the name of the directory and the number of files. i tried with awk $>ls -lh | awk '/^-/ && $5 >= 100k {print $8 $5}' but it is not working pls tell... (3 Replies)
Discussion started by: abhikamune
3 Replies

6. Shell Programming and Scripting

Problem with awk awk: program limit exceeded: sprintf buffer size=1020

Hi I have many problems with a script. I have a script that formats a text file but always prints the same error when i try to execute it The code is that: { if (NF==17){ print $0 }else{ fields=NF; all=$0; while... (2 Replies)
Discussion started by: fate
2 Replies

7. Shell Programming and Scripting

Awk problem: How to express the single quote(') by using awk print function

Actually I got a list of file end with *.txt I want to use the same command apply to all the *.txt Thus I try to find out the fastest way to write those same command in a script and then want to let them run automatics. For example: I got the file below: file1.txt file2.txt file3.txt... (4 Replies)
Discussion started by: patrick87
4 Replies

8. Shell Programming and Scripting

problem using awk

Hi there every body I'm new to shell scripting and there is a problem facing me,, please look at the following piece of code: awk ' BEGIN{ FS="<assertion id=\1"; RS="<assertion id=\"2"}/<assertion id=\"1/{print FS$2 > "/home/ds2/test/output.txt"} ' filename all I wanna do is to... (6 Replies)
Discussion started by: senior_ahmed
6 Replies

9. Shell Programming and Scripting

Problem with AWK

Hi All, How can i store a value of the unix command executed in AWK with system command. devise=`cut -c1-3 dvgp.txt` I wrote this command in awk as awk'{ code= sprintf("devise=`cut -c1-3 dvgp.txt`"); system(code); }' Is this correct. can you please suggest me how the code can be... (1 Reply)
Discussion started by: krishna_gnv
1 Replies

10. UNIX for Dummies Questions & Answers

AWK Problem

Hi, I posted something here about this yesterday but I can't seem to find it. I needed help writting a script which would append a file with new lines after every so many charachters. Example: (my original flat file) L60 LETTER OF CREDIT 60 DAYS W00 ON RECEIPT WIRE TRANSFER W30 NET... (12 Replies)
Discussion started by: gseyforth
12 Replies
Login or Register to Ask a Question