Repeative Output


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Repeative Output
# 1  
Old 01-28-2013
Repeative Output

Folks,

Not got much scritping experience, so I expect this will be a fairly trivial fix for those that know what they're doing...

I've got two files:

Code:
root[my-box]# cat /tmp/exemption_list
# This file will contain comments

# and blank lines.

aaa.bbb.ccc.000
aaa.bbb.ccc.222
aaa.bbb.ccc.444
aaa.bbb.ccc.666
root[my-box]#

Code:
root[my-box]# cat /tmp/subnet_list
aaa.bbb.ccc.000
aaa.bbb.ccc.111
aaa.bbb.ccc.222
aaa.bbb.ccc.333
aaa.bbb.ccc.444
aaa.bbb.ccc.555
aaa.bbb.ccc.666
aaa.bbb.ccc.777
aaa.bbb.ccc.888
aaa.bbb.ccc.999
root[my-box]#


What I'm trying to do, is run through the subnet_list and pick out and remove all of the matching addresses that exist in the exemption list and then write the amended list back to subnet_list - so essentially I'll end up with a list of subnets minus the exempt ones. Exemption list is something that will be ever changing, as a result I can't hard code it into the script.

The closest I've been able to get is:
Code:
root[my-box]# egrep -v "#|^$" /tmp/exemption_list| while read line; do grep -v $line /tmp/subnet_list >> /tmp/subnet_list_result; done
root[my-box]# mv /tmp/subnet_list_result /tmp/subnet_list

Which isn't quite right at all...

Can anyone help tweak the egrep command so I end up with a subnet_list file containing no exempt addresses and no duplicates?

Thanks in advance.
CiCa

Last edited by CiCa; 01-28-2013 at 05:49 AM.. Reason: Inserting code tags
# 2  
Old 01-28-2013
Hi,
most grep implementations can read its pattern from a file:
Code:
grep -vf/tmp/exemption_list /tmp/subnet_list |sort -u >/tmp/subnet_list_result
mv /tmp/subnet_list_result /tmp/subnet_list

# 3  
Old 01-28-2013
With bash or ksh93, you can do something like:
Code:
grep -vxFf <(grep -Ev "#|^$" file1) file2

Some greps can do this:
Code:
grep -Ev "#|^$" file1 | grep -vxFf - file2

otherwise you could use intermediate files, or create an awk script to do it...
This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 01-28-2013
I tried something similar a day or two ago, but -F or -f ain't an option on my system

Code:
root[my-box]# grep -vF /tmp/exemption_list /tmp/subnet_list
grep: illegal option -- F
Usage: grep -hblcnsviw pattern file . . .
root[my-box]# grep -vf /tmp/exemption_list /tmp/subnet_list
grep: illegal option -- f
Usage: grep -hblcnsviw pattern file . . .
root[my-box]#

Are there any alternative methods?
# 5  
Old 01-28-2013
Try /usr/xpg4/bin/grep
This User Gave Thanks to Scrutinizer For This Post:
# 6  
Old 01-28-2013
Brilliant!

Code:
root[my-box]# /usr/xpg4/bin/grep -vxFf <(grep -v "#|^$" /tmp/exemption_list) /tmp/subnet_list
aaa.bbb.ccc.111
aaa.bbb.ccc.333
aaa.bbb.ccc.555
aaa.bbb.ccc.777
aaa.bbb.ccc.888
aaa.bbb.ccc.999
root[my-box]

#


Thanks everyone that responded (in particular Scrutinizer) Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Redirect script output to a file and mail the output

Hi Guys, I want to redirect the output of 3 scripts to a file and then mail the output of those three scripts. I used below but it is not working: OFILE=/home/home1/report1 echo "report1 details" > $OFILE =/home/home1/1.sh > $OFILE echo... (7 Replies)
Discussion started by: Vivekit82
7 Replies

2. Red Hat

Command understanding the output file destination in case of standard output!!!!!

I ran the following command. cat abc.c > abc.c I got message the following message from command cat: cat: abc.c : input file is same as the output file How the command came to know of the destination file name as the command is sending output to standard file. (3 Replies)
Discussion started by: ravisingh
3 Replies

3. Shell Programming and Scripting

Displaying log file pattern output in tabular form output

Hi All, I have result log file which looks like this (below): from the content need to consolidate the result and put it in tabular form 1). Intercomponents Checking Passed: All Server are passed. ====================================================================== 2). OS version Checking... (9 Replies)
Discussion started by: Optimus81
9 Replies

4. Shell Programming and Scripting

script to mail monitoring output if required or redirect output to log file

Below script perfectly works, giving below mail output. BUT, I want to make the script mail only if there are any D-Defined/T-Transition/B-Broken State WPARs and also to copy the output generated during monitoring to a temporary log file, which gets cleaned up every week. Need suggestions. ... (4 Replies)
Discussion started by: aix_admin_007
4 Replies

5. Shell Programming and Scripting

Awk script to run a sql and print the output to an output file

Hi All, I have around 900 Select Sql's which I would like to run in an awk script and print the output of those sql's in an txt file. Can you anyone pls let me know how do I do it and execute the awk script? Thanks. (4 Replies)
Discussion started by: adept
4 Replies

6. Shell Programming and Scripting

awk: round output or delimit output of arithmatic string

I have a file with the following content. > cat /tmp/internetusage.txt 6709.296322 30000 2/7/2010 0.00I am using the following awk command to calculate a percentage from field 1 and 2 from the file. awk '{ print $1/$2*100 }' /tmp/internetusage.txt This outputs the value "22.3643" as a... (1 Reply)
Discussion started by: jelloir
1 Replies

7. Shell Programming and Scripting

Converting line output to column based output

Hi Guys, I am trying to convert a file which has a row based output to a column based output. My original file looks like this: 1 2 3 4 5 6 1 2 3 1 2 3 (8 Replies)
Discussion started by: npatwardhan
8 Replies

8. Shell Programming and Scripting

top output for six processes with the same name, output changed from column to row

Hi, I have a system under test, and I use a script that does a ps. The output, is in the following format, it's basically the timestamp, followed by the rss and vsize. 09:03:57 68404 183656 68312 181944 69860 217360 67536 182564 69072 183172 69032 199276 09:04:27 68752 183292 70000 189020... (5 Replies)
Discussion started by: Bloke
5 Replies

9. Shell Programming and Scripting

Expect - Interact output hangs when large output

Hello, I have a simple expect script I use to ssh to a workstation. I then pass control over to the user with interact. This script works fine on my HP and Mac, but on my Linux Desktop, I get a problem where the terminal hangs when ever I execute a command in the interact session that requires a... (0 Replies)
Discussion started by: natedog
0 Replies

10. Shell Programming and Scripting

how to make a line BLINKING in output and also how to increase font size in output

how to make a line BLINKING in output and also how to increase font size in output suppose in run a.sh script inside echo "hello world " i want that this should blink in the output and also the font size of hello world should be big .. could you please help me out in this (3 Replies)
Discussion started by: mail2sant
3 Replies
Login or Register to Ask a Question