Using gawk I want to print all lines in a file except those that have any of
three patterns in field 7. I thought I had the proper syntax but gawk
disagrees and I'm not finding the proper syntax in my awk books or in web
searches. I've tried using if-else (my first choice), as well as negating
the patterns but everything's failed.

Here's the script, drop-1200C.awk:
8< -----
BEGIN { FS=OFS="," }
{ if (/$7 ~ "Gen12c"/ || /$7 ~ "Gen12c(Agent)"/ || /$7 ~ "Gen12u"/)
    { next }
   else
   { print $0 > "processed.dat" }
} -------- >8

And here's a sample input file, sample.dat:
8<---------------
'123095','2842','20/10 Products Inc.','20/10 Products','Salem','Marion','Gen12z'
'111677','5015','205 Auto Salvage Inc.','205 Auto Salvage 
Inc.','Portland','Multnomah','Gen12z'
'108572','1442','4-R Equipment LLC','4-R Equipment 
LLC','Philomath','Benton','Gen12a'
'111223','2493','48th St LLC','48th St LLC','Springfield','Lane','Gen12z'
'102952','1442','Abadaba Inc','Riverbend Materials-Esg South 
Pit','Eugene','Lane','Gen12a'
'70200','1541','Age, Frank','New Plant Site','Brownsville','Linn','Gen12c'
'105395','2813','Airgas USA LLC','Airgas USA 
LLC','Mcminnville','Yamhill','Gen12z'
'126624','4925','Airgas USA LLC','Airgas','Portland','Multnomah','Gen12z'
'125593','1521','Akins',' Clyde','Lilybrook 
Subdivision','Medford','Jackson','Gen12c'
'100520','2851','Akzo Coatings Inc','Akzo Coatings 
Inc','Salem','Marion','Gen12z'
'124676','1522','Amberglen Development LLC','Amberglen On The 
Park','Hillsboro','Washington','Gen12c(Agent)'
'125887','1522','Amberglen South Development Company LLC','Amberglen South 
Apartments','Hillsboro','Washington','Gen12c(Agent)'
'126441','1623','Antelope, City Of ','Water Transmission',' Storage & 
Distribution Improvements Project','Antelope','Wasco','Gen12c'
'119429','9511','Lake Oswego, City Of','City Of Lake Oswego','Lake 
Oswego','Clackamas','Gen12u'
'125935','1611','Lake Oswego, City Of','Boones Ferry Road Project-Phase 
1','Lake Oswego','Clackamas','Gen12c'
'118763','3599','Apex Machinery Inc.','Apex Machinery','Eugene','Lane','Gen12z'
---------->8

When I run all versions of awk scripts either all lines are output or I get
doubled lines.

What have I missed in writing the gawk script?

Rich
_______________________________________________
PLUG: https://pdxlinux.org
PLUG mailing list
[email protected]
http://lists.pdxlinux.org/mailman/listinfo/plug

Reply via email to