Sponsored Content
Top Forums Shell Programming and Scripting find common elements in 2 files (for loop) Post 302150341 by ahjiefreak on Tuesday 11th of December 2007 04:22:17 AM
Old 12-11-2007
How to read content from a file and match with another file for operation

Hi,

I have somehow similar case of question like the above with some differences.

Basically I have 2 files, file A and file B.

In file A, I have columns of fields such that:-

aaa 107
bbb 108
ccc 109

In file B, I have columns of fields such that:-
101 2 1
102 3 1
107 2 1
108 3 1
109 2 1

I would like to know, if I would like to extract let say first element of file A and compare with file B elements.

If found, I would like to have the position of element 107 in file B in this case it is on 3rd line. And the same goes for other elements in file A which in the end will pipe to another output file.

Next, I would like to get the $2 and $3 of the 3rd line for some computation.

Currently, I tried to do below:-

#!/bin/sh

for i in a.txt

do

grep -c $i b.txt

cat b.txt| awk '
{
count[$i]=$2+$3;

}
END{
printf("%d",count[$i]);
}'
done

I knew it is not going work well as the second field of A.txt is not extracted.

Please advise. Thanks.


-Jason
 

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

To find all common lines from 'n' no. of files

Hi, I have one situation. I have some 6-7 no. of files in one directory & I have to extract all the lines which exist in all these files. means I need to extract all common lines from all these files & put them in a separate file. Please help. I know it could be done with the help of... (11 Replies)
Discussion started by: The Observer
11 Replies

2. Shell Programming and Scripting

Files common in two sets ??? How to find ??

Suppose we have 2 set of files set 1 set 2 ------ ------ abc hgb def ppp mgh vvv nmk sdf hgb ... (1 Reply)
Discussion started by: skyineyes
1 Replies

3. UNIX for Dummies Questions & Answers

how to find common words and take them out from two files

Hi, everyone, Let's say, we have xxx.txt A 1 2 3 4 5 C 1 2 3 4 5 E 1 2 3 4 5 yyy.txt A 1 2 3 4 5 B 1 2 3 4 5 C 1 2 3 4 5 D 1 2 3 4 5 E 1 2 3 4 5 First I match the first column I find intersection (A,C, E), then I want to take those lines with ACE out from yyy.txt, like A 1... (11 Replies)
Discussion started by: kaixinsjtu
11 Replies

4. Shell Programming and Scripting

Script to find NOT common strings in two files

Hi all, I'd like you to help or give any advise about the following: I have two (2) files, file1 and file2, both files have information common to each other. The contents of file1 is a subset of the contents of file2: file1: errormsgadmin esdp esgservices esignipa iprice ipvpn irm... (18 Replies)
Discussion started by: hnux
18 Replies

5. UNIX for Dummies Questions & Answers

Writing a loop to merge multiple files by common column

I have 100 data files labelled 250.1.txt through 250.100.txt. The second column of the data files partially match (there is about %90 overlap). Each data file has 4 columns. I want the merge all these text files by the matching values in the second column. In the output, the first column should... (1 Reply)
Discussion started by: evelibertine
1 Replies

6. Shell Programming and Scripting

Find Common Values Across Two Files

Hi All, I have two files like below: File1 MYFILE_28012012_1112.txt|4 MYFILE_28012012_1113.txt|51 MYFILE_28012012_1114.txt|57 MYFILE_28012012_1115.txt|57 MYFILE_28012012_1116.txt|57 MYFILE_28012012_1117.txt|57 File2 MYFILE_28012012_1110.txt|57 MYFILE_28012012_1111.txt|57... (2 Replies)
Discussion started by: angshuman
2 Replies

7. UNIX for Dummies Questions & Answers

Merging tables: identifiying common and unique elements

Hi all, I know how to merge two tables and to remove the duplicated lines based on a field (Column 2) . My next challenge is to be able to identify in a new column those common elements between table A & B, those elements in table A not present in table B and vice versa. A simple count would be... (6 Replies)
Discussion started by: lsantome
6 Replies

8. Shell Programming and Scripting

Count common elements in a column

HI, I have a 3-column tab separated column (approx 1GB) in which I would like to count and output the frequency of all of the common elements in the 1st column. For instance: If my input was the following: dot is-big 2 dot is-round 3 dot is-gray 4 cat is-big 3 hot in-summer 5 My... (4 Replies)
Discussion started by: owwow14
4 Replies

9. Shell Programming and Scripting

Find common files between two directories

I have two directories Dir 1 /home/sid/release1 Dir 2 /home/sid/release2 I want to find the common files between the two directories Dir 1 files /home/sid/release1>ls -lrt total 16 -rw-r--r-- 1 sid cool 0 Jun 19 12:53 File123 -rw-r--r-- 1 sid cool 0 Jun 19 12:53... (5 Replies)
Discussion started by: sidnow
5 Replies
Spreadsheet::WriteExcel::Chart::Stock(3pm)		User Contributed Perl Documentation		Spreadsheet::WriteExcel::Chart::Stock(3pm)

NAME
Stock - A writer class for Excel Stock charts. SYNOPSIS
To create a simple Excel file with a Stock chart using Spreadsheet::WriteExcel: #!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new( 'chart.xls' ); my $worksheet = $workbook->add_worksheet(); my $chart = $workbook->add_chart( type => 'stock' ); # Add a series for each Open-High-Low-Close. $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$B$2:$B$6' ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$C$2:$C$6' ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$D$2:$D$6' ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$E$2:$E$6' ); # Add the worksheet data the chart refers to. # ... See the full example below. __END__ DESCRIPTION
This module implements Stock charts for Spreadsheet::WriteExcel. The chart object is created via the Workbook "add_chart()" method: my $chart = $workbook->add_chart( type => 'stock' ); Once the object is created it can be configured via the following methods that are common to all chart classes: $chart->add_series(); $chart->set_x_axis(); $chart->set_y_axis(); $chart->set_title(); These methods are explained in detail in Spreadsheet::WriteExcel::Chart. Class specific methods or settings, if any, are explained below. Stock Chart Methods There aren't currently any stock chart specific methods. See the TODO section of Spreadsheet::WriteExcel::Chart. The default Stock chart is an Open-High-Low-Close chart. A series must be added for each of these data sources. The default Stock chart is in black and white. User defined colours will be added at a later stage. EXAMPLE
Here is a complete example that demonstrates most of the available features when creating a Stock chart. #!/usr/bin/perl -w use strict; use Spreadsheet::WriteExcel; my $workbook = Spreadsheet::WriteExcel->new( 'chart_stock_ex.xls' ); my $worksheet = $workbook->add_worksheet(); my $bold = $workbook->add_format( bold => 1 ); my $date_format = $workbook->add_format( num_format => 'dd/mm/yyyy' ); # Add the worksheet data that the charts will refer to. my $headings = [ 'Date', 'Open', 'High', 'Low', 'Close' ]; my @data = ( [ '2009-08-23', 110.75, 113.48, 109.05, 109.40 ], [ '2009-08-24', 111.24, 111.60, 103.57, 104.87 ], [ '2009-08-25', 104.96, 108.00, 103.88, 106.00 ], [ '2009-08-26', 104.95, 107.95, 104.66, 107.91 ], [ '2009-08-27', 108.10, 108.62, 105.69, 106.15 ], ); $worksheet->write( 'A1', $headings, $bold ); my $row = 1; for my $data ( @data ) { $worksheet->write( $row, 0, $data->[0], $date_format ); $worksheet->write( $row, 1, $data->[1] ); $worksheet->write( $row, 2, $data->[2] ); $worksheet->write( $row, 3, $data->[3] ); $worksheet->write( $row, 4, $data->[4] ); $row++; } # Create a new chart object. In this case an embedded chart. my $chart = $workbook->add_chart( type => 'stock', embedded => 1 ); # Add a series for each of the Open-High-Low-Close columns. $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$B$2:$B$6', name => 'Open', ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$C$2:$C$6', name => 'High', ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$D$2:$D$6', name => 'Low', ); $chart->add_series( categories => '=Sheet1!$A$2:$A$6', values => '=Sheet1!$E$2:$E$6', name => 'Close', ); # Add a chart title and some axis labels. $chart->set_title( name => 'Open-High-Low-Close', ); $chart->set_x_axis( name => 'Date', ); $chart->set_y_axis( name => 'Share price', ); # Insert the chart into the worksheet (with an offset). $worksheet->insert_chart( 'F2', $chart, 25, 10 ); __END__ AUTHOR
John McNamara jmcnamara@cpan.org COPYRIGHT
Copyright MM-MMX, John McNamara. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. perl v5.10.1 2010-02-02 Spreadsheet::WriteExcel::Chart::Stock(3pm)
All times are GMT -4. The time now is 05:14 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy