Sponsored Content
Full Discussion: Awk command help
Top Forums Shell Programming and Scripting Awk command help Post 302605733 by birei on Thursday 8th of March 2012 11:15:21 AM
Old 03-08-2012
One way using perl:
Code:
$ cat file1
 xyz033E
 xyz033F
 xyz033G
 xyz177E
 xyz177F
 xyz177G
 xyz181A
 xyz181B
 xyz181C
 xyz181E
 xyz181F
 xyz181G
$ cat file2
Iub_xyz032
Iub_xyz033
Iub_xyz069
Iub_xyz070
Iub_xyz071
Iub_xyz074
Iub_xyz077
Iub_xyz088
Iub_xyz113
Iub_xyz114_PAT
Iub_xyz177_2nd_INT
Iub_xyz178
Iub_xyz179
Iub_xyz180
Iub_xyz181_INT
Iub_xyz189
Iub_xyz191
Iub_xyz197_2nd
Iub_xyz198_2nd_INT
Iub_xyz199
Iub_xyz589
Iub_xyz654
Iub_xyz681_2nd_PAT
Iub_xyz817
Iub_xyz818
Iub_xyz861
Iub_xyz952
Iub_xyz984
Iub_xyz988
$ cat script.pl
use warnings;
use strict;

die qq[Usage: perl $0 <file1> <file2>\n] unless @ARGV == 2;

open my $fh1, qq[<], shift @ARGV or die;
open my $fh2, qq[<], shift @ARGV or die;

my (%file2_data, $re);

while ( <$fh2> ) {
        chomp;
        my $str = $_;
        s/\A[^_]*_//;
        s/_.*\Z//;
        $file2_data{ $_ } = $str;
}

{
        my $file2_regex = join qq[|], keys %file2_data;
        $re = qr/$file2_regex/;
}

while ( <$fh1> ) {
        chomp;
        if ( m/($re)/o ) {
                printf qq[%s\t%s\n], $_, $file2_data{ $1 };
        }
}
$ perl script.pl file1 file2
 xyz033E        Iub_xyz033
 xyz033F        Iub_xyz033
 xyz033G        Iub_xyz033
 xyz177E        Iub_xyz177_2nd_INT
 xyz177F        Iub_xyz177_2nd_INT
 xyz177G        Iub_xyz177_2nd_INT
 xyz181A        Iub_xyz181_INT
 xyz181B        Iub_xyz181_INT
 xyz181C        Iub_xyz181_INT
 xyz181E        Iub_xyz181_INT
 xyz181F        Iub_xyz181_INT
 xyz181G        Iub_xyz181_INT


Last edited by birei; 03-08-2012 at 12:37 PM..
 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

assign a command line argument and a unix command to awk variables

Hi , I have a piece of code ...wherein I need to assign the following ... 1) A command line argument to a variable e.g origCount=ARGV 2) A unix command to a variable e.g result=`wc -l testFile.txt` in my awk shell script When I do this : print "origCount" origCount --> I get the... (0 Replies)
Discussion started by: sweta_doshi
0 Replies

2. Shell Programming and Scripting

awk/sed Command : Parse parameter file / send the lines to the ksh export command

Sorry for the duplicate thread this one is similar to the one in https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121 Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Discussion started by: rajan_san
4 Replies

3. UNIX for Dummies Questions & Answers

Basic awk question...getting awk to act on $1 of the command itself

I have a script problem that I am not able to solve due my very limited understanding of unix/awk. This is the contents of test.sh awk '{print $1}' From the prompt if I enter: ./test.sh Hello World I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Discussion started by: JasonHamm
2 Replies

4. Shell Programming and Scripting

awk command for simple join command but based on 2 columns

input1 a_a a/a 10 100 a1 a_a 20 200 b1 b_b 30 300 input2 a_a a/a xxx yyy a1 a1 lll ppp b1 b_b kkk ooo output a_a a/a 10 100 xxx yyy (2 Replies)
Discussion started by: ruby_sgp
2 Replies

5. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

Hello all, Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val: > cat getnon0file.sh #!/bin/bash this="getnon0file.sh" USAGE=$this" InFile="xyz.38" Min="0.05" # awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
Discussion started by: catalys
4 Replies

6. Shell Programming and Scripting

awk command to compare a file with set of files in a directory using 'awk'

Hi, I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files. To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Discussion started by: anandek
10 Replies

7. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

below is the output xml string from some other command and i will be parsing it using awk cat /tmp/alerts.xml <Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Discussion started by: vivek d r
2 Replies

8. Shell Programming and Scripting

Pass awk field to a command line executed within awk

Hi, I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date). All my attempts failed this far. Here's an example. It works fine with timestamp hard-codded into the command echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
Discussion started by: tuxer
4 Replies
DB2_FIELD_SCALE(3)							 1							DB2_FIELD_SCALE(3)

db2_field_scale - Returns the scale of the indicated column in a result set

SYNOPSIS
int db2_field_scale (resource $stmt, mixed $column) DESCRIPTION
Returns the scale of the indicated column in a result set. PARAMETERS
o $stmt - Specifies a statement resource containing a result set. o $column - Specifies the column in the result set. This can either be an integer representing the 0-indexed position of the column, or a string containing the name of the column. RETURN VALUES
Returns an integer containing the scale of the specified column. If the specified column does not exist in the result set, db2_field_scale(3) returns FALSE. SEE ALSO
db2_field_display_size(3), db2_field_name(3), db2_field_num(3), db2_field_precision(3), db2_field_type(3), db2_field_width(3). PHP Documentation Group DB2_FIELD_SCALE(3)
All times are GMT -4. The time now is 03:31 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy