awk script modification


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk script modification
# 8  
Old 08-15-2012
Quote:
Originally Posted by RudiC
This won't work as it will scan the entire conf_file as many times as you have lines in your host file thus giving multiple output.

Even though elixir_sinari's proposal works for me, you may want to try this one:
Code:
awk 'NR==FNR {a[$0]; next}; !($7 in a) {print $0 RS}' host_file RS="}\n"  conf_file



this didn't work. i'm guessing the problem is with the $7??
# 9  
Old 08-15-2012
Any output? Pls. provide input and output files. I can only test my proposals with mawk 1.3.3
You can try this:
Code:
 awk 'NR==FNR {a=(a?a"|":"")$0; next}; !match ($0,a) {print $0 RS}' t1 RS="}\n" test

This User Gave Thanks to RudiC For This Post:
# 10  
Old 08-15-2012
most awk's don't support multi-character definitions for RS or ORS...
# 11  
Old 08-15-2012
OK, thanks vgersh99. Then try to fallback to elixir_sinari's RS= (empty) proposal. But it may lose the empty line between configurations.
# 12  
Old 08-15-2012
Quote:
Originally Posted by RudiC
Any output? Pls. provide input and output files. I can only test my proposals with mawk 1.3.3
You can try this:
Code:
 awk 'NR==FNR {a=(a?a"|":"")$0; next}; !match ($0,a) {print $0 RS}' t1 RS="}\n" test

the configuration file is in the first post of this thread.

the host list file will contain one host per line, .i.e.:

Code:
relay-nasty-01.net
relay-nasty-02.net
relay-nasty-03.net

thank you
# 13  
Old 08-15-2012
Sorry, I left my test files in. Pls. issue
Code:
awk 'NR==FNR {a=(a?a"|":"")$0; next}; !match ($0,a) {print $0 RS}' host_file RS="}\n" conf_file

Yes, I tested with your sample files; the result is as desired. You may have to adapt our proposals to your awk version.
This User Gave Thanks to RudiC 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

Modification to awk command

i have a php file that has this: php.code #!/usr/bin/php <?php phpinfo(); hlight_file(__FILE__); ?> I want my awk code grab whatever is inbetween and including the "<?php" and "?>". Then, it should scan all the entries between these two points. And if the entries between these... (10 Replies)
Discussion started by: SkySmart
10 Replies

2. Shell Programming and Scripting

awk script modification

can someone help me identify what i'm doing wrong here: awk -F'|' 'BEGIN{c=0} /./ && /./ { if ($3 < 2) { print ; c++ } END { print c":OK" } else if (($3 >= 2) && ($3 < 4)) { print ; c++ } END { print c":WARNING" } else if ($3 >= 4) { print ; c++ } END { print c":CRITICAL" } }'... (4 Replies)
Discussion started by: SkySmart
4 Replies

3. Shell Programming and Scripting

awk script modification - treat certain files differently

awk 'BEGIN{OFS=","} FNR == 1 {if (NR > 1) {print fn,fnr,nl} fn=FILENAME; fnr = 1; nl = 0} {fnr = FNR} /UNUSUAL/ && /\.gz/ ~ /FILENAME/ {nl++} <'{system ("gunzip -cd FILENAME")}' END ... (2 Replies)
Discussion started by: SkySmart
2 Replies

4. Shell Programming and Scripting

IP Address Modification through awk/sed

Hi, I have to modify the 2nd and 3rd octet of the IP address through awk/sed. For Example: Given IP is : 10.205.22.254, it should be modified as 10.105.100.254 through awk/sed. Kindly help me on this and let me know if you have any questions. Thanks in advances. (2 Replies)
Discussion started by: kumarbka
2 Replies

5. UNIX for Dummies Questions & Answers

awk output modification

Hello, I am using awk command to print some output, but there are some characters that I would like to remove from the output awk '{print $5$6}' the output I get is column5/:column6 I am looking forward to remove the : and to get the output column5/column6 Sorry if this question is... (4 Replies)
Discussion started by: Error404
4 Replies

6. Shell Programming and Scripting

awk modification for lines

so i have this data in a file: jime=1860,yime=1.23243,lime= jime=1859,yime=1.23018,lime= jime=1825,yime=1.15371,lime= jime=1849,yime=1.20769,lime= jime=1841,yime=1.1897,lime= jime=1849,yime=1.20769,lime= i use this code to calculate the percentage difference of the number in column 2... (9 Replies)
Discussion started by: SkySmart
9 Replies

7. Shell Programming and Scripting

Awk modification

I need help modifying the code below. DATAFILE is a log file. I have two strings i need to search for in the log file. The two strings are: 1. ERROR 2. com.rolander.promotions.client awk 'BEGIN { while((getline < "'${SFILE}'")>0) S FS="\n"; RS="\n" } (11 Replies)
Discussion started by: SkySmart
11 Replies

8. Shell Programming and Scripting

in line modification in a file using awk

Hi, I have a conf.file with the following values: ef=78 b=40 ca=40 c=45/dev2 when I modify one of the line with the below awk script,it's modifying BUT it's placing the modified line in the last line : input:- Configure b 45/dev4 output:- ef=78 ca=40 ... (2 Replies)
Discussion started by: axes
2 Replies

9. Shell Programming and Scripting

Need a modification on this script

Hi All I have files contains rows which look like this: 2 20090721_16:58:47.173 JSUD2 JD1M1 20 IAM 966591835270 249918113182 b 3610 ACM b 3614 ACM b 3713 CPG b 3717 CPG f 5799 REL b 5815 RLC b 5817 RLC :COMMA: NCI=00,FCI=6101,CPC=0A,TMR=00,OFI=00,USI: :COMMB: BCI=1234: :RELCAUSE:10: ... (1 Reply)
Discussion started by: zanetti321
1 Replies

10. Shell Programming and Scripting

help in script modification

i have the following perl script.but it searches for a given filename. i want to run the same script in my directoy which has subdirectories too and it has to display the file if sreach satisfies along with directory name. can anyone help me: perl script: my $FILE = $ARGV; for zf in... (4 Replies)
Discussion started by: a.suryakumar
4 Replies
Login or Register to Ask a Question