Sponsored Content
Top Forums Shell Programming and Scripting Help with print out line that have different record in specific column Post 302889908 by Don Cragun on Monday 24th of February 2014 11:56:44 AM
Old 02-24-2014
This is a fairly simple awk script. Here it is again with comments explaining what each line does:
Code:
awk ' 
$1 == f1 || NR == 1 {   # If the 1st field is the same as the 1st field on the
                        # previous line, or if this is the 1st line in the file:
        f0 = $0 "\n"    #       Save the current line with a newline for output
                        #       when we see a different value in the 1st field.
                        #       ($0 is the current line without the terminating
                        #       newlien character.)
        f1 = $1         #       Save the current 1st field to compare to the 1st
                        #       field on the next line.
        next            #       Skip to next input line.
}
{                       # To get to here, the 1st field on this line is not the
                        # same as the 1st field on the previous line:
        print f0 $0     #       Print the saved line and the current line.  The
                        #       print command adds a newline at the end of
                        #       whatever it prints.
        f0 = ""         #       Clear the saved line.  (We do not want to print
                        #       the current line twice if the 1st field in the
                        #       next line does not match the 1st field in this
                        #       line.)
        f1 = $1         #       Save the current 1st field to compare to the 1st
                        #       field on the next line.
}' input_file           # The input for this script is a file named "input_file".

These 2 Users Gave Thanks to Don Cragun For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Question about sort specific column and print other column at the same time !

Hi, This is my input file: ali 5 usa abc abu 4 uk bca alan 6 brazil bac pinky 10 utah sdc My desired output: pinky 10 utah sdc alan 6 brazil bac ali 5 usa abc abu 4 uk bca Based on the column two, I want to do the descending order and print out other related column at the... (3 Replies)
Discussion started by: patrick87
3 Replies

2. Shell Programming and Scripting

print first few lines, then apply regex on a specific column to print results.

abc.dat tty cpu tin tout us sy wt id 0 0 7 3 19 71 extended device statistics r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device 0.0 133.2 0.0 682.9 0.0 1.0 0.0 7.2 0 79 c1t0d0 0.2 180.4 0.1 5471.2 3.0 2.8 16.4 15.6 15 52 aaaaaa1-xx I want to skip first 5 line... (4 Replies)
Discussion started by: kchinnam
4 Replies

3. Shell Programming and Scripting

Print first and last line from multiline record

Hi - I'm new to working with multiline records and I'm going nuts trying to do something that seems simple. Input: Tue May 1 14:00 Header Record 1 is valid. Tue May 1 14:00 processing data to 25-Mar-2012 09:00:23.15 Tue May 1 14:03 Header Record 1 is valid. Tue May 1 14:03 processing data... (4 Replies)
Discussion started by: Catullus
4 Replies

4. Shell Programming and Scripting

awk to print record not equal specific pattern

how to use "awk" to print any record has pattern not equal ? for example my file has 5 records & I need to get all lines which $1=10 or 20 , $2=10 or 20 and $3 greater than "130302" as it shown : 10 20 1303252348212B030 20 10 1303242348212B030 40 34 1303252348212B030 10 20 ... (14 Replies)
Discussion started by: arm
14 Replies

5. Shell Programming and Scripting

Execution problem with print out record that follow specific pattern

Hi, Do anybody know how to print out only those record that column 1 is "a" , then followed by "b"? Input file : a comp92 2404242 2405172 b comp92 2405303 2406323 b comp92 2408786 2410278 a comp92 2410271 2410337 a comp87 1239833 1240418 b comp87... (3 Replies)
Discussion started by: patrick87
3 Replies

6. Shell Programming and Scripting

Problem to print out record got smallest number in specific column

Hi, Anybody know how to print out the record that shown smallest number among column 3 and column 4 Case 1 Input : 37170 37196 77 51 37174 37195 73 52 37174 37194 73 53 Case 1 Output : 37170 37196 77 51 Case 2 Input : 469613 469660 73 ... (4 Replies)
Discussion started by: cpp_beginner
4 Replies

7. Shell Programming and Scripting

Problem facing to compare different column and print out record with smallest number

Hi, Input file 1 : 37170 37196 77 51 37174 37195 73 52 37174 37194 73 53 Desired Output file 1 : 37170 37196 77 51 Input file 2 : 37174 37195 73 0 37170 37196 77 0 Desired Output file 2 : 37174 37195 73 0 (1 Reply)
Discussion started by: cpp_beginner
1 Replies

8. Shell Programming and Scripting

How to print multiple specific column after a specific word?

Hello.... Pls help me (and sorry my english) :) So I have a file (test.txt) with 1 long line.... for example: isgc jsfh udgf osff 8462 error iwzr 653 idchisfb isfbisfb sihfjfeb isfhsi gcz eifh How to print after the "error" word the 2nd 4th 5th and 7th word?? output well be: 653 isfbisfb... (2 Replies)
Discussion started by: marvinandco
2 Replies

9. Shell Programming and Scripting

Help with print out record if first and next line follow specific pattern

Input file: pattern1 100 250 US pattern2 50 3050 UK pattern3 100 250 US pattern1 70 1050 UK pattern1 170 450 Mal pattern2 40 750 UK . . Desired Output file: pattern1 100 250 US pattern2 50 3050 UK pattern1 170 450 Mal pattern2... (3 Replies)
Discussion started by: cpp_beginner
3 Replies

10. Shell Programming and Scripting

Overwrite specific column in xml file with the specific column from adjacent line

I have an xml file dumped from rrd file, that I want to "patch" so the xml file doesn't contain any blank hole in the resulting graph of the rrd file. Here is the file. <!-- 2015-10-12 14:00:00 WIB / 1444633200 --> <row><v> 4.0419731265e+07 </v><v> 4.5045912770e+06... (2 Replies)
Discussion started by: rk4k
2 Replies
Aspect::Advice(3pm)					User Contributed Perl Documentation				       Aspect::Advice(3pm)

NAME
Aspect::Advice - Change how Perl code is run at a pointcut SYNOPSIS
# Trace calls to all functions in all MyAccount classes use Aspect; before { print 'Called: '. $_->sub_name; } call qw/^MyAccount::/; # Repeat using the pure object-oriented interface use Aspect::Advice::Before (); use Aspect::Pointcut::Call (); my $advice = Aspect::Advice::Before->new( pointcut => Aspect::Pointcut::Call->new( qr/^MyAccount::/ ), code => sub { print 'called: '. $_->sub_name; }, ); DESCRIPTION
An "advice" in AOP lingo is composed of a condition (known as a Aspect::Pointcut) and some code that will run when that pointcut is true. This code is run before, after, or around the target pointcut depending on the particular advice type declaration used. You do not normally create advice using the constructor. By "use()"ing Aspect, you get five advice declaration subroutines imported. "before" is used to indicate code that should run prior to the function being called. See Aspect::Advice::Before for more information. "after" is used to indicate code that should run following the function being called, regardless of whether it returns normally or throws an exception. See Aspect::Advice::After for more information. "around" is used to take deeper control of the call and gives you your own lexical scope between the caller and callee, with a specific "proceed" call required in your code to execute the target function. See Aspect::Advice::Around for more information. When the advice code is called, it is provided with an Advice::Point object which describes the context of the call to the target function, and allows you to change it. This parameter is provided both via the topic variable $_ (since version 0.90) and additionally as the first parameter to the advice code (which may be deprecated at some point in the future). If you are creating "advice" objects directly via the OO interface, you should never use this class directly but instead use the class of the particular type of advice you want to create. AUTHORS
Adam Kennedy <adamk@cpan.org> Marcel Gruenauer <marcel@cpan.org> Ran Eilam <eilara@cpan.org> COPYRIGHT
Copyright 2001 by Marcel Gruenauer Some parts copyright 2009 - 2012 Adam Kennedy. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.14.2 2012-02-01 Aspect::Advice(3pm)
All times are GMT -4. The time now is 02:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy