10-23-2013
Replace value in csv file with match from another file
Good morning everyone and hello unix.com!
I'm trying to solve a problem and was unable to find a solution after a forum research. So hopefully you can help me get this solved.
I have these two csv files:
file1.csv
ID,REFERENCE,STATUS
1,2,0
2,4,1
3,1,0
file2.csv
REFERENCE,FIRST_NAME,LAST_NAME
1,John,Smith
2,Mary,James
3,Steve,Adams
4,Michael,Angelo
What I'm trying to achieve is to replace the 'REFERENCE' column in file1.csv with the respective line from file2.csv (matching 'REFERENCE'). So the output I want is:
1,2,Mary,James,0
2,4,Michael,Angelo,1
3,1,John,Smith,0
I have played around with the JOIN command in conjunction with SORT, but to no avail yet. Does anyone have an idea how to do that?
Thanks a lot,
RKos
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello all,
I've a CSV file and need to replace 5th field if its value is "X".
The exact requirement is to replace 5th field (column) with "Y" if
a. it's value is "X" AND
b. the line must start with ABC string
i guess this can be done with awk. Pl help.
For security reasons, the... (2 Replies)
Discussion started by: prvnrk
2 Replies
2. Shell Programming and Scripting
Hello, i am bit stuck with making script for automatic procedure.
Case:
Two files. One is flat file, other is csv file.
csv file has two column/fields with comma delimited data.
Here is what i need (explained way)
CSV file:
field1 | field2
"hello","byebye"
"hello2","byebye2"... (23 Replies)
Discussion started by: frankie_konin
23 Replies
3. Shell Programming and Scripting
How to replace match data in 2 file. to new file
My log.txt (100,000 line)
11415304503฿90255050001฿3฿23/02/2009 13:12:38฿17/04/2009 13:04:59฿27/03/2009 4:13:54
11494069063฿90259730001฿3฿27/10/2008 13:14:21฿02/11/2009 14:34:01฿09/10/2009 4:13:26
11497298316฿90825970008฿5฿29/03/2009... (5 Replies)
Discussion started by: ooilinlove
5 Replies
4. Shell Programming and Scripting
I have csv file where I want the second column has to be replaced with value 1.
Source file
919568760477,1,2011-07-11T22:34:27.000+05:30,
919557735692,2,2011-07-11T22:36:16.000+05:30,
917417384969,2,2011-07-11T22:33:26.000+05:30,
Final file
... (30 Replies)
Discussion started by: dondilip
30 Replies
5. Shell Programming and Scripting
Hi Friends,
I'm a great fan of this forum... it has helped me tone my skills in shell scripting. I have a challenge here, which I'm sure you guys would help me in achieving...
File A has a list of job ids and I need to compare this with the File B (*.log) and File C (extend *.log) and copy... (6 Replies)
Discussion started by: asnandhakumar
6 Replies
6. Shell Programming and Scripting
Hi,
I have a file of csv data, which looks like this:
file1:
1AA,LGV_PONCEY_LES_ATHEE,1,\N,1,00020460E1,0,\N,\N,\N,\N,2,00.22335321,0.00466628
2BB,LES_POUGES_ASF,\N,200,200,00006298G1,0,\N,\N,\N,\N,1,00.30887539,0.00050312... (10 Replies)
Discussion started by: djoseph
10 Replies
7. Shell Programming and Scripting
Hi, I am newbie in shell script.
I need your help to solve my problem.
Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file.
File1:
SourceFile,DateTimeOriginal
/home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies
8. Shell Programming and Scripting
I have a situation where a file "config.txt" looks like this
Servername:
OS:
Serername:
OS:
Servername:
OS:
....
....
...
Servername:
OS:
looking for the sed syntax to replace the "Nth" occurrence of Servername (i would apply the same logic to OS as well), want to replace the Nth... (4 Replies)
Discussion started by: alldbest
4 Replies
9. UNIX for Beginners Questions & Answers
I'm trying to use awk to count the occurrences of two matching fields of a CSV file.
For instance, for data that looks like this...
Joe,Blue,Yes,No,High
Mike,Blue,Yes,Yes,Low
Joe,Red,No,No,Low
Joe,Red,Yes,Yes,Low
I've been trying to use code like this...
countvar=`awk ' $2~/$color/... (4 Replies)
Discussion started by: nmoore2843
4 Replies
10. Shell Programming and Scripting
I am trying to parse two csv files and make a match in one column then print the entire file to a new file and append an additional column that gives description from the match to the new file. If a match is not made, I would like to add "NA" to the end of the file
Command that Ive been using... (6 Replies)
Discussion started by: dis0wned
6 Replies
LEARN ABOUT REDHAT
cgi::pretty
CGI::Pretty(3pm) Perl Programmers Reference Guide CGI::Pretty(3pm)
NAME
CGI::Pretty - module to produce nicely formatted HTML code
SYNOPSIS
use CGI::Pretty qw( :html3 );
# Print a table with a single data element
print table( TR( td( "foo" ) ) );
DESCRIPTION
CGI::Pretty is a module that derives from CGI. It's sole function is to allow users of CGI to output nicely formatted HTML code.
When using the CGI module, the following code:
print table( TR( td( "foo" ) ) );
produces the following output:
<TABLE><TR><TD>foo</TD></TR></TABLE>
If a user were to create a table consisting of many rows and many columns, the resultant HTML code would be quite difficult to read since
it has no carriage returns or indentation.
CGI::Pretty fixes this problem. What it does is add a carriage return and indentation to the HTML code so that one can easily read it.
print table( TR( td( "foo" ) ) );
now produces the following output:
<TABLE>
<TR>
<TD>
foo
</TD>
</TR>
</TABLE>
Tags that won't be formatted
The <A> and <PRE> tags are not formatted. If these tags were formatted, the user would see the extra indentation on the web browser caus-
ing the page to look different than what would be expected. If you wish to add more tags to the list of tags that are not to be touched,
push them onto the @AS_IS array:
push @CGI::Pretty::AS_IS,qw(CODE XMP);
Customizing the Indenting
If you wish to have your own personal style of indenting, you can change the $INDENT variable:
$CGI::Pretty::INDENT = " ";
would cause the indents to be two tabs.
Similarly, if you wish to have more space between lines, you may change the $LINEBREAK variable:
$CGI::Pretty::LINEBREAK = "
";
would create two carriage returns between lines.
If you decide you want to use the regular CGI indenting, you can easily do the following:
$CGI::Pretty::INDENT = $CGI::Pretty::LINEBREAK = "";
BUGS
This section intentionally left blank.
AUTHOR
Brian Paulsen <Brian@ThePaulsens.com>, with minor modifications by Lincoln Stein <lstein@cshl.org> for incorporation into the CGI.pm dis-
tribution.
Copyright 1999, Brian Paulsen. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
Bug reports and comments to Brian@ThePaulsens.com. You can also write to lstein@cshl.org, but this code looks pretty hairy to me and I'm
not sure I understand it!
SEE ALSO
CGI
perl v5.8.0 2002-06-01 CGI::Pretty(3pm)