Sponsored Content
Top Forums UNIX for Beginners Questions & Answers UNIX script to compare 3rd column value with first column and display Post 303033466 by Scrutinizer on Friday 5th of April 2019 03:44:21 PM
Old 04-05-2019
You are welcome.
You could try:
Code:
awk '
  {
    if($1 in Rec)              # if $1 already present in the records then append 
      Rec[$1]=Rec[$1] RS $0    # a newline character (RS) with the next line
    else
      Rec[$1]=$0
    Col3[$3]                             
    Next[$1]=$3
  } 

  END {
    for(i in Rec)
      if(!(i in Col3))
        break
    while(i in Rec) {
      print Rec[i]
      i=Next[i] 
    }
}' file

Output:
Code:
SQL         SrcQual	Exp1	Expres
Exp1	Expres	rtr1	Router
rtr1	        Router	EPIC3	Targetdefinition
rtr1	Router	EPIC1	Targetdefinition

--
Do multiple records with the same first field only occur for "leaf" (last) values, or can they occur on all levels?
If the latter is the case, could you be more elaborate in what variations can occur and what needs to happen?

Last edited by Scrutinizer; 04-06-2019 at 02:30 AM.. Reason: Replaced ternary if construct by regular if-else statement for clarity reasons
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Compare files column to column based on keys

Here is my situation. I need to compare two tab separated files (diff is not useful since there could be known difference between files). I have found similar posts , but not fully matching.I was thinking of writing a shell script using cut and grep and while loop but after going thru posts it... (2 Replies)
Discussion started by: blackjack101
2 Replies

2. Shell Programming and Scripting

Compare Two Files(Column By Column) In Perl or shell

Hi, I am writing a comparator script, which comapre two txt files(column by column) below are the precondition of this comparator 1)columns of file are not seperated Ex. file1.txt 8888812341181892 1243548895685687 8945896789897789 1111111111111111 file2.txt 9578956789567897... (2 Replies)
Discussion started by: kumar96877
2 Replies

3. Shell Programming and Scripting

AWK script to create max value of 3rd column, grouping by first column

Hi, I need an awk script (or whatever shell-construct) that would take data like below and get the max value of 3 column, when grouping by the 1st column. clientname,day-of-month,max-users ----------------------------------- client1,20120610,5 client2,20120610,2 client3,20120610,7... (3 Replies)
Discussion started by: ckmehta
3 Replies

4. UNIX for Dummies Questions & Answers

sort a unix file by 3rd column

Hi, Can anybody tell me how to sort a unix file by 3rd column and not by ltr? Please help Thanks in advance (2 Replies)
Discussion started by: vinnyvirk
2 Replies

5. UNIX for Dummies Questions & Answers

Search word in 3rd column and move it to next column (4th)

Hi, I have a file with +/- 13000 lines and 4 column. I need to search the 3rd column for a word that begins with "SAP-" and move/skip it to the next column (4th). Because the 3rd column need to stay empty. Thanks in advance.:) 89653 36891 OTR-60 SAP-2 89653 36892 OTR-10 SAP-2... (2 Replies)
Discussion started by: AK47
2 Replies

6. Shell Programming and Scripting

Help with compare two column and print out column with smallest number

Input file : 5 20 500 2 20 41 41 0 23 1 Desired output : 5 2 20 0 1 By comparing column 1 and 2 in each line, I hope can print out the column with smallest number. I did try the following code, but it don't look good :( (2 Replies)
Discussion started by: perl_beginner
2 Replies

7. Shell Programming and Scripting

Compare 3rd column in 2 files

I have the following 2 files. File 1 08FB,000192602673,10000000c9a6b240 0121,000192602673,20000025b550101f 0121,000192602673,20000025b550100f 08FA,000192602673,10000000c9a6b240 File 2 18F2,000195702363,10000000c9a6b240 18F3,000195702363,10000000c9a6b240... (2 Replies)
Discussion started by: kieranfoley
2 Replies

8. Shell Programming and Scripting

Changing values only in 3rd column and 4th column

#cat file testing test! nipw asdkjasjdk ok! what !ok host server1 check_ssh_disk!102.56.1.101!30!50!/ other host server 2 des check_ssh_disk!192.6.1.10!40!30!/ #grep check file| awk -F! '{print $3,$4}'|awk '{gsub($1,"",$1)}1' 50 30 # Output: (6 Replies)
Discussion started by: kenshinhimura
6 Replies

9. Shell Programming and Scripting

Solution for replacement of 4th column with 3rd column in a file using awk/sed preserving delimters

input "A","B","C,D","E","F" "S","T","U,V","W","X" "AA","BB","CC,DD","EEEE","FFF" required output: "A","B","C,D","C,D","F" "S", T","U,V","U,V","X" "AA","BB","CC,DD","CC,DD","FFF" tried using awk but double quotes not preserving for every field. any help to solve this is much... (5 Replies)
Discussion started by: khblts
5 Replies

10. Shell Programming and Scripting

Need awk or Shell script to compare Column-1 of two different CSV files and print if column-1 matche

Example: I have files in below format file 1: zxc,133,joe@example.com cst,222,xyz@example1.com File 2 Contains: hxd hcd jws zxc cst File 1 has 50000 lines and file 2 has around 30000 lines : Expected Output has to be : hxd hcd jws (5 Replies)
Discussion started by: TestPractice
5 Replies
pnmgamma(1)                                                   General Commands Manual                                                  pnmgamma(1)

NAME
pnmgamma - perform gamma correction on a portable anymap SYNOPSIS
pnmgamma [-ungamma] [-cieramp|-srgbramp] [value [pnmfile]] pnmgamma [-ungamma] [-cieramp|-srgbramp] redgamma greengamma bluegamma [pnmfile] DESCRIPTION
Performs gamma correction on pseudo-PNM images. The PPM format specification specify that certain sample values in a file represent certain light intensities in an image. In particular, they specify that the sample values are directly proportional to gamma-corrected intensity values. The gamma correction they specify is CIE Rec. 709. However, people sometimes work with approximations of PPM and PGM where the relationship between the image intensities and the sample val- ues are something else. For example, the sample value might be directly proportional to the intensity with no gamma correction (often called "linear intensity"). Or a different gamma transfer function may be used. pnmgamma allows you to manipulate the transfer function, thus working with and/or creating pseudo-PPM files that are useful for various things. For example, if you feed a true PPM to pnmgamma -cieramp -ungamma, you get as output a file which is PPM in every respect except that the sample values are directly proportional to the light intensities in the image. If you feed such a file to pnmgamma -cieramp, you get out a true PPM. The situation for PGM images is analogous. And pnmgamma treats PBM images as PGM images. When you feed a linear PPM image to a display program that expects a true PPM, the display appears darker than it should, so pnmgamma has the effect of lightening the image. When you feed a true PPM to a display program that expects linear sample values, and therefore does a gamma correction of its own on them, the display appears lighter than it should, so pnmgamma with a gamma value less than one (the multi- plicative inverse of whatever gamma value the display program uses) has the effect of darkening the image. PARAMETERS
The only parameters are the specification of the input image file and the gamma values. Every gamma transfer function pnmgamma uses con- tains an exponent, which is the gamma value, and you can choose that value. Furthermore, you can choose different values for each of the three RGB components. If you specify only one gamma value, pnmgamma uses that value for all three RGB components. If you don't specify any gamma parameters, pnmgamma chooses a default. For the transfer functions defined by standards, the default is the value defined by the standard. If you specify anything else, you will be varying from the standard. For the simple power function trans- fer function, the default gamma is 1/.45. OPTIONS
-ungamma Apply the inverse of the specified transfer function (i.e. go from gamma-corrected nonlinear intensities to linear intensities). -cieramp Use the CIE Rec. 709 gamma transfer function. Note that it is true CIE Rec. 709 only if you use the default gamma value (i.e. don't specify any gamma parameters). This transfer function is a power function modified with a linear ramp near black. If you specify neither -cieramp nor -srgbramp, the transfer function defaults to a simple power function. -srgbramp Use the Internation Electrotechnical Commission (IEC) SRGB gamma transfer function (as specified in the standard IEC 61966-2-1). Note that it is true SRGB only if you use the default gamma value (i.e. don't specify any gamma parameters). This transfer function is like the one selected by -cieramp, but with different constants in it. Note that SRGB is often spelled "sRGB". In this document, we use standard English typography, though, which doesn't allow for that kind of capitalization. If you specify neither -cieramp nor -srgbramp, the transfer function defaults to a simple power function. WHAT IS GAMMA
? A good explanation of gamma is in Charles Poynton's GammaFAQ at <http://www.inforamp.net/~poynton/ColorFAQ.html> and ColorFAQ at <http://www.inforamp.net/~poynton/GammaFAQ.html> In brief: The simplest way to code an image is by using sample values that are directly proportional to the intensity of the color compo- nents. But that wastes the sample space because the human eye can't discern differences between low-intensity colors as well as it can between high-intensity colors. So instead, we pass the light intensity values through a transfer function that makes it so that changing a sample value by 1 causes the same level of perceived color change anywhere in the sample range. We store those resulting values in the image file. That transfer function is called the gamma transfer function and the transformation is called gamma correcting. Virtually all image formats, either specified or de facto, use gamma-corrected values for their sample values. What's really nice about gamma is that by coincidence, the inverse function that you have to do to convert the gamma-corrected values back to real light intensities is done automatically by CRTs. You just apply a voltage to the CRT's electron gun that is proportional to the gamma-corrected sample value, and the intensity of light that comes out of the screen is close to the intensity value you had before you applied the gamma transfer function! And when you consider that computer video devices usually want you to store in video memory a value proportional to the signal voltage you want to go to the monitor, which the monitor turns into a proportional drive voltage on the electron gun, it is really convenient to work with gamma-corrected sample values. SEE ALSO
pnm(5) AUTHOR
Copyright (C) 1991 by Bill Davidson and Jef Poskanzer. 11 June 2001 pnmgamma(1)
All times are GMT -4. The time now is 02:09 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy