Sponsored Content
Full Discussion: awk read input files
Top Forums Shell Programming and Scripting awk read input files Post 302351614 by tgooper on Wednesday 9th of September 2009 05:51:07 AM
Old 09-09-2009
awk read input files

hi,

i'm a beginner in writing awk scripts and I have a problem with reading input files.
Requirement for my programm:
compare file1 to file2 and check if value in column1 is equal and value in column5 is different.
File 1:
Code:
180    P    01.01.2008    30.06.2008    2
180    P    01.07.2008    30.09.2008    1
180    P    01.10.2008    31.12.2008    1
1101    P    01.01.2008    30.11.2008    1
1101    P    01.12.2008    31.12.2008    1
1101    P    01.12.2008    31.12.2008    2
1101    P    01.12.2008    31.12.2008    3

File 2:
Code:
180    P    01.01.2008    30.06.2008    1
180    P    01.07.2008    30.09.2008    1
180    P    01.10.2008    31.12.2008    1
1101    P    01.01.2008    30.11.2008    1
1101    P    01.12.2008    31.12.2008    2

My Code:
Code:
BEGIN {
        SUBSEP=" "
        if (ARGC < 3) {
             print "gawk -f L16.awk ZZT_T5A71.txt T5A71.txt"
            exit
        } else {
            t5a71 = ARGV[2]
            zzt_t5a71 = ARGV[1]
        }
    
    }
{#MAIN
    if (FILENAME == zzt_t5a71) {
       split($0, record2, SUBSEP)    

    }
    if (FILENAME == t5a71) {
       
        split($0, record1, SUBSEP)
        
        Pernr = match(record1[1],record2[1])
        if (Pernr != 0) {
      
            Zeit = match(record1[3], record2[3])
            if (Zeit != 0){
              
                if (record1[5] > record2[5]){
                        arrGES[FNR] = $0
                    
                }
            }
        }
    }
}
END{
    for (x in arrGES)
        print arrGES[x]
    
}

My output is just
1101 P 01.12.2008 31.12.2008 3

and not
180 P 01.01.2008 30.06.2008 2
1101 P 01.12.2008 31.12.2008 3

Why??
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

2 input files for awk

Hi, i have 2 files like f1 and f2 f1: 1 Note: some times it will be cahnged to 2 and 3. f2: 1:20 2:30 4:50 6:70 8:90 3:20 1:30 1:40 output: 1:80 (sum of 1) (6 Replies)
Discussion started by: koti_rama
6 Replies

2. Shell Programming and Scripting

read input from 2 files and print them in alternate columns

Hi Frnz Please help me out. I have two text files. A.txt one two three four B.txt Jan Feb Mar Apr I need the output as (1 Reply)
Discussion started by: sriram.s
1 Replies

3. Shell Programming and Scripting

Splitting input files into multiple files through AWK command

Hi, I needs to split *.txt files from single directory depends on the some mutltiple input values. i have wrote the code like below for file in *.txt do grep -i -h "value1|value2" $file > $file; done. My requirment is more input values needs to be given in grep; let us say 50... (3 Replies)
Discussion started by: arund_01
3 Replies

4. Shell Programming and Scripting

Comparing 2 input files -Awk

Compare 2 files and print the values input1 (c1 20 100 X_y10) along with one closest highest (c1 100 200 X_y10) and one lowest values (c1 10 15 X_y10) from input2 input1 c1 20 100 X_y10 input2 c1 5 10 X_y10 c1 10 15 X_y10 c1 100 200 X_y10 c1 200 300 X_y10 output ... (8 Replies)
Discussion started by: bumblebee_2010
8 Replies

5. Shell Programming and Scripting

Script to read input and output files and child scripts

I have a directory where i have *.sas; *.pl;*.sh and *.c scripts I need to find out what are the child scripts and input output files for each script: say I have a shell script which calls a perl script and a sas script: In my first line I want I a) the parent script name; b) the... (1 Reply)
Discussion started by: ramky79
1 Replies

6. Shell Programming and Scripting

AWK using two input files

Hi , i have two input files one is input.gz and another is ( input.txt) text file.in gz format input file each record contains 10 fields and corresponding header value is present in the text file as a single record i.e text file contains only 10 records which is header value,so output of the awk... (1 Reply)
Discussion started by: Ajoy
1 Replies

7. Shell Programming and Scripting

Read input file with in awk script not through command line

Hi All, Do we know how to read input file within awk script and send output toanother log file. All this needs to be in awk script, not in command line. I am running this awk through crontab. Cat my.awk #!/bin/awk -f function test(var){ some code} { } END { print"test code" } (5 Replies)
Discussion started by: random_thoughts
5 Replies

8. Shell Programming and Scripting

Read input files and merge them in given order and write them to input one param or one file

Dear Friends, I am looking for a shell script to merge input files into one file .. here is my idea: 1st paramter would be outfile file (all input files content) read all input files and merge them to input param 1 ex: if I pass 6 file names to the script then 1st file name as output file... (4 Replies)
Discussion started by: hyd1234
4 Replies

9. Shell Programming and Scripting

Parse input of two files to be the same in awk

I have two files that I am going to use diff to find the differences but need to parse them before I do that. I have include the format of each file1 and file2 with the desired output of each (the first 5 fields in each file). The first file has a "chr" before the # that needs to be removed. I... (1 Reply)
Discussion started by: cmccabe
1 Replies

10. Shell Programming and Scripting

Use while loop to read file and use ${file} for both filename input into awk and as string to print

I have files named with different prefixes. From each I want to extract the first line containing a specific string, and then print that line along with the prefix. I've tried to do this with a while loop, but instead of printing the prefix I print the first line of the file twice. Files:... (3 Replies)
Discussion started by: pathunkathunk
3 Replies
DateTime::Locale::ky(3) 				User Contributed Perl Documentation				   DateTime::Locale::ky(3)

NAME
DateTime::Locale::ky SYNOPSIS
use DateTime; my $dt = DateTime->now( locale => 'ky' ); print $dt->month_name(); DESCRIPTION
This is the DateTime locale package for Kirghiz. DATA
This locale inherits from the DateTime::Locale::root locale. It contains the following data. Days Wide (format) 2 3 4 5 6 7 1 Abbreviated (format) 2 3 4 5 6 7 1 Narrow (format) 2 3 4 5 6 7 1 Wide (stand-alone) 2 3 4 5 6 7 1 Abbreviated (stand-alone) 2 3 4 5 6 7 1 Narrow (stand-alone) 2 3 4 5 6 7 1 Months Wide (format) 1 2 3 4 5 6 7 8 9 10 11 12 Abbreviated (format) 1 2 3 4 5 6 7 8 9 10 11 12 Narrow (format) 1 2 3 4 5 6 7 8 9 10 11 12 Wide (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Abbreviated (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Narrow (stand-alone) 1 2 3 4 5 6 7 8 9 10 11 12 Quarters Wide (format) Q1 Q2 Q3 Q4 Abbreviated (format) Q1 Q2 Q3 Q4 Narrow (format) 1 2 3 4 Wide (stand-alone) Q1 Q2 Q3 Q4 Abbreviated (stand-alone) Q1 Q2 Q3 Q4 Narrow (stand-alone) 1 2 3 4 Eras Wide BCE CE Abbreviated BCE CE Narrow BCE CE Date Formats Full 2008-02-05T18:30:30 = 3, 2008 2 05 1995-12-22T09:05:02 = 6, 1995 12 22 -0010-09-15T04:44:23 = 7, -10 9 15 Long 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Medium 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Short 2008-02-05T18:30:30 = 08/02/05 1995-12-22T09:05:02 = 95/12/22 -0010-09-15T04:44:23 = -10/09/15 Default 2008-02-05T18:30:30 = 2008 2 5 1995-12-22T09:05:02 = 1995 12 22 -0010-09-15T04:44:23 = -10 9 15 Time Formats Full 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Long 2008-02-05T18:30:30 = 18:30:30 UTC 1995-12-22T09:05:02 = 09:05:02 UTC -0010-09-15T04:44:23 = 04:44:23 UTC Medium 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Short 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 09:05 -0010-09-15T04:44:23 = 04:44 Default 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 09:05:02 -0010-09-15T04:44:23 = 04:44:23 Datetime Formats Full 2008-02-05T18:30:30 = 3, 2008 2 05 18:30:30 UTC 1995-12-22T09:05:02 = 6, 1995 12 22 09:05:02 UTC -0010-09-15T04:44:23 = 7, -10 9 15 04:44:23 UTC Long 2008-02-05T18:30:30 = 2008 2 5 18:30:30 UTC 1995-12-22T09:05:02 = 1995 12 22 09:05:02 UTC -0010-09-15T04:44:23 = -10 9 15 04:44:23 UTC Medium 2008-02-05T18:30:30 = 2008 2 5 18:30:30 1995-12-22T09:05:02 = 1995 12 22 09:05:02 -0010-09-15T04:44:23 = -10 9 15 04:44:23 Short 2008-02-05T18:30:30 = 08/02/05 18:30 1995-12-22T09:05:02 = 95/12/22 09:05 -0010-09-15T04:44:23 = -10/09/15 04:44 Default 2008-02-05T18:30:30 = 2008 2 5 18:30:30 1995-12-22T09:05:02 = 1995 12 22 09:05:02 -0010-09-15T04:44:23 = -10 9 15 04:44:23 Available Formats d (d) 2008-02-05T18:30:30 = 5 1995-12-22T09:05:02 = 22 -0010-09-15T04:44:23 = 15 EEEd (d EEE) 2008-02-05T18:30:30 = 5 3 1995-12-22T09:05:02 = 22 6 -0010-09-15T04:44:23 = 15 7 Hm (H:mm) 2008-02-05T18:30:30 = 18:30 1995-12-22T09:05:02 = 9:05 -0010-09-15T04:44:23 = 4:44 hm (h:mm a) 2008-02-05T18:30:30 = 6:30 PM 1995-12-22T09:05:02 = 9:05 AM -0010-09-15T04:44:23 = 4:44 AM Hms (H:mm:ss) 2008-02-05T18:30:30 = 18:30:30 1995-12-22T09:05:02 = 9:05:02 -0010-09-15T04:44:23 = 4:44:23 hms (h:mm:ss a) 2008-02-05T18:30:30 = 6:30:30 PM 1995-12-22T09:05:02 = 9:05:02 AM -0010-09-15T04:44:23 = 4:44:23 AM M (L) 2008-02-05T18:30:30 = 2 1995-12-22T09:05:02 = 12 -0010-09-15T04:44:23 = 9 Md (M-d) 2008-02-05T18:30:30 = 2-5 1995-12-22T09:05:02 = 12-22 -0010-09-15T04:44:23 = 9-15 MEd (E, M-d) 2008-02-05T18:30:30 = 3, 2-5 1995-12-22T09:05:02 = 6, 12-22 -0010-09-15T04:44:23 = 7, 9-15 MMM (LLL) 2008-02-05T18:30:30 = 2 1995-12-22T09:05:02 = 12 -0010-09-15T04:44:23 = 9 MMMd (MMM d) 2008-02-05T18:30:30 = 2 5 1995-12-22T09:05:02 = 12 22 -0010-09-15T04:44:23 = 9 15 MMMEd (E MMM d) 2008-02-05T18:30:30 = 3 2 5 1995-12-22T09:05:02 = 6 12 22 -0010-09-15T04:44:23 = 7 9 15 MMMMd (MMMM d) 2008-02-05T18:30:30 = 2 5 1995-12-22T09:05:02 = 12 22 -0010-09-15T04:44:23 = 9 15 MMMMEd (E MMMM d) 2008-02-05T18:30:30 = 3 2 5 1995-12-22T09:05:02 = 6 12 22 -0010-09-15T04:44:23 = 7 9 15 ms (mm:ss) 2008-02-05T18:30:30 = 30:30 1995-12-22T09:05:02 = 05:02 -0010-09-15T04:44:23 = 44:23 y (y) 2008-02-05T18:30:30 = 2008 1995-12-22T09:05:02 = 1995 -0010-09-15T04:44:23 = -10 yM (y-M) 2008-02-05T18:30:30 = 2008-2 1995-12-22T09:05:02 = 1995-12 -0010-09-15T04:44:23 = -10-9 yMEd (EEE, y-M-d) 2008-02-05T18:30:30 = 3, 2008-2-5 1995-12-22T09:05:02 = 6, 1995-12-22 -0010-09-15T04:44:23 = 7, -10-9-15 yMMM (y MMM) 2008-02-05T18:30:30 = 2008 2 1995-12-22T09:05:02 = 1995 12 -0010-09-15T04:44:23 = -10 9 yMMMEd (EEE, y MMM d) 2008-02-05T18:30:30 = 3, 2008 2 5 1995-12-22T09:05:02 = 6, 1995 12 22 -0010-09-15T04:44:23 = 7, -10 9 15 yMMMM (y MMMM) 2008-02-05T18:30:30 = 2008 2 1995-12-22T09:05:02 = 1995 12 -0010-09-15T04:44:23 = -10 9 yQ (y Q) 2008-02-05T18:30:30 = 2008 1 1995-12-22T09:05:02 = 1995 4 -0010-09-15T04:44:23 = -10 3 yQQQ (y QQQ) 2008-02-05T18:30:30 = 2008 Q1 1995-12-22T09:05:02 = 1995 Q4 -0010-09-15T04:44:23 = -10 Q3 yyQ (Q yy) 2008-02-05T18:30:30 = 1 08 1995-12-22T09:05:02 = 4 95 -0010-09-15T04:44:23 = 3 -10 Miscellaneous Prefers 24 hour time? Yes Local first day of the week 2 SUPPORT
See DateTime::Locale. AUTHOR
Dave Rolsky <autarch@urth.org> COPYRIGHT
Copyright (c) 2008 David Rolsky. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. This module was generated from data provided by the CLDR project, see the LICENSE.cldr in this distribution for details on the CLDR data's license. perl v5.16.3 2014-06-10 DateTime::Locale::ky(3)
All times are GMT -4. The time now is 08:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy