Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Discarding records with duplicate fields Post 303043656 by RavinderSingh13 on Monday 3rd of February 2020 06:39:14 AM
Old 02-03-2020
Quote:
Originally Posted by beca123456
Your code works. Thanks !
But I would like to understand why mine does not. It seems fine to me...
Hello becal123456,

IMHO problem in your code is that you haven't done any increment on very first occurrence of a[$2 FS $4 FS $5 FS $6 FS $7] and when it goes into condition check happens first and increment for that line's field happens later hence false positive results are coming, so if you change your code to following:

Code:
awk '
BEGIN{FS=OFS="\t"}
{
    a[$2 FS $4 FS $5 FS $6 FS $7]++
    if($1 ~ /grp2/){
        if(a[$2 FS $4 FS $5 FS $6 FS $7]==1){
            print $0
         }
    }
    else{
        print $0
    }
}'   Input_file

Then we are doing increment in array a[$2 FS $4 FS $5 FS $6 FS $7]++ so when it goes to next time in grep2 condition it has those values also which are common in grep1 line(which were getting missed since we haven't put increment in its previous statement).

I hope we should be good here, please feel free to shoot any further queries on same.

NOTE: To say anyone "Thanks" on UNIX.com you can hit THANKS button; present at every post's left corner Smilie

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Records Duplicate

Hi Everyone, I have a flat file of 1000 unique records like following : For eg Andy,Flower,201-987-0000,12/23/01 Andrew,Smith,101-387-3400,11/12/01 Ani,Ross,401-757-8640,10/4/01 Rich,Finny,245-308-0000,2/27/06 Craig,Ford,842-094-8740,1/3/04 . . . . . . Now I want to duplicate... (9 Replies)
Discussion started by: ganesh123
9 Replies

2. Shell Programming and Scripting

compare fields in a file with duplicate records

Hi: I've been searching the net but didnt find a clue. I have a file in which, for some records, some fields coincide. I want to compare one (or more) of the dissimilar fields and retain the one record that fulfills a certain condition. For example, on this file: 99 TR 1991 5 06 ... (1 Reply)
Discussion started by: rleal
1 Replies

3. Shell Programming and Scripting

combine duplicate records

I have a .DAT file like below 23666483030000653-B94030001OLFXXX000000120081227 23797049900000654-E71060001OLFXXX000000220081227 23699281320000655 E71060002OLFXXX000000320081227 22885068900000652 B86860003OLFXXX592123320081227 22885068900000652 B86860003ODL-SP592123420081227... (8 Replies)
Discussion started by: kshuser
8 Replies

4. UNIX for Dummies Questions & Answers

Getting non-duplicate records

Hi, I have a file with these records abc xyz xyz pqr uvw cde cde In my o/p file , I want all the non duplicate rows to be shown. o/p abc pqr uvw Any suggestions how to do this? Thanks for the help. rs (2 Replies)
Discussion started by: rs123
2 Replies

5. UNIX for Dummies Questions & Answers

Need to keep duplicate records

Consider my input is 10 10 20 then, uniq -u will give 20 and uniq -dwill return 10. But i need the output as , 10 10 How we can achieve this? Thanks (4 Replies)
Discussion started by: pandeesh
4 Replies

6. Shell Programming and Scripting

Find duplicate based on 'n' fields and mark the duplicate as 'D'

Hi, In a file, I have to mark duplicate records as 'D' and the latest record alone as 'C'. In the below file, I have to identify if duplicate records are there or not based on Man_ID, Man_DT, Ship_ID and I have to mark the record with latest Ship_DT as "C" and other as "D" (I have to create... (7 Replies)
Discussion started by: machomaddy
7 Replies

7. Shell Programming and Scripting

Deleting duplicate records from file 1 if records from file 2 match

I have 2 files "File 1" is delimited by ";" and "File 2" is delimited by "|". File 1 below (3 record shown): Doc1;03/01/2012;New York;6 Main Street;Mr. Smith 1;Mr. Jones Doc2;03/01/2012;Syracuse;876 Broadway;John Davis;Barbara Lull Doc3;03/01/2012;Buffalo;779 Old Windy Road;Charles... (2 Replies)
Discussion started by: vestport
2 Replies

8. Shell Programming and Scripting

Remove duplicate records

Hi, i am working on a script that would remove records or lines in a flat file. The only difference in the file is the "NOT NULL" word. Please see below example of the input file. INPUT FILE:> CREATE a ( TRIAL_CLIENT NOT NULL VARCHAR2(60), TRIAL_FUND NOT NULL... (3 Replies)
Discussion started by: reignangel2003
3 Replies

9. Shell Programming and Scripting

Duplicate records

Gents, I have a file which contends duplicate records in column 1, but the values in column 2 are different. 3099753489 3 3099753489 5 3101954341 12 3101954341 14 3102153285 3 3102153285 5 3102153297 3 3102153297 5 I will like to get something like this: output desired... (16 Replies)
Discussion started by: jiam912
16 Replies

10. Shell Programming and Scripting

Duplicate records

Gents, Please give a help file --BAD STATUS NOT RESHOOTED-- *** VP 41255/51341 in sw 2973 *** VP 41679/51521 in sw 2973 *** VP 41687/51653 in sw 2973 *** VP 41719/51629 in sw 2976 --BAD COG NOT RESHOOTED-- *** VP 41689/51497 in sw 2974 *** VP 41699/51677 in sw 2974 *** VP... (18 Replies)
Discussion started by: jiam912
18 Replies
ttk::spinbox(n) 						 Tk Themed Widget						   ttk::spinbox(n)

__________________________________________________________________________________________________________________________________________________

NAME
ttk::spinbox - Selecting text field widget SYNOPSIS
ttk::spinbox pathName ?options? _________________________________________________________________ DESCRIPTION
A ttk::spinbox widget is a ttk::entry widget with built-in up and down buttons that are used to either modify a numeric value or to select among a set of values. The widget implements all the features of the ttk::entry widget including support of the -textvariable option to link the value displayed by the widget to a Tcl variable. STANDARD OPTIONS
-class -cursor -style -takefocus -xscrollcommand See the ttk_widget manual entry for details on the standard options. STANDARD OPTIONS
-validate -validatecommand See the ttk_entry manual entry for details on the standard options. WIDGET-SPECIFIC OPTIONS [-from from] A floating-point value specifying the lowest value for the spinbox. This is used in conjunction with -to and -increment to set a numerical range. [-to to] A floating-point value specifying the highest permissible value for the widget. See also -from and -increment. range. [-increment increment] A floating-point value specifying the change in value to be applied each time one of the widget spin buttons is pressed. The up button applies a positive increment, the down button applies a negative increment. [-values values] This must be a Tcl list of values. If this option is set then this will override any range set using the -from, -to and -increment options. The widget will instead use the values specified beginning with the first value. [-wrap wrap] Must be a proper boolean value. If on, the spinbox will wrap around the values of data in the widget. [-format format] Specifies an alternate format to use when setting the string value when using the -from and -to range. This must be a format specifier of the form %<pad>.<pad>f, as it will format a floating-point number. [-command command] Specifies a Tcl command to be invoked whenever a spinbutton is invoked. INDICES
See the ttk::entry manual for information about indexing characters. VALIDATION
See the ttk::entry manual for information about using the -validate and -validatecommand options. WIDGET COMMAND
The following subcommands are possible for spinbox widgets in addition to the commands described for the ttk::entry widget: pathName current index pathName get Returns the spinbox's current value. pathName set value Set the spinbox string to value. If a -format option has been configured then this format will be applied. If formatting fails or is not set or the -values option has been used then the value is set directly. SEE ALSO
ttk::widget(n), ttk::entry(n), spinbox(n) KEYWORDS
entry, spinbox, widget, text field Tk 8.5.9 ttk::spinbox(n)
All times are GMT -4. The time now is 04:41 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy