awk 'FNR==NR{a[$2]=$0;next} $2 in a{print a[$2]}' file1 file2 > file3
This will print the last matching record from file 1, while I think the desire is to have the record from file 2 printed. Small tweek to do that instead.
Code:
awk 'FNR==NR{a[$2]=1; next} $2 in a ' file1 file2 > file3
There is also the chance that the desire is to print the line from file 2 only if the corresponding line from file 1 has a matching value. The code above will print any line from file 2 that has a value in field 2 that matches any line in file 1 with the same value in column 2. If the desire is to print records from file 2 that match both the value in the field, and the same record number, then something like this should work:
Code:
awk -F , -v f1=file-1 -v f2=file-2 '
BEGIN {
col = 2 # desired field to match -- change if needed
while( (getline<f1) > 0 )
{
f12 = $(col);
if( (getline <f2) > 0 && $(col) == f12 )
print;
}
}
' >file-3
This code assumes the fields are comma separated as mentioned in the original post.
Any help to read the contents of a variable length csv ....??(using awk)
The csv mite look like this :
anjali,ram,rahul,mohini,sam,.... and so on ...
I need to pick up each name..
Thanks in advance
SD (3 Replies)
Hello experts,
I am trying to read a line from a csv file that contains '.doc' and print the second column in all caps.
e.g.
My csv file contains:
Test.doc|This is a Test|test1|tes,t2|test-3
Test2.pdf|This is a Second Test| test1|tes,t2|t-est3
while read line
do
echo "$line" |... (3 Replies)
Hi All,
I am newbie to Unix I ve got assignment to work in unix
can you please help me in this regard
There is a sample CSV file
"Username", "Password"
"John1", "Scot1"
"John2", "Scot2"
"John3", "Scot3"
"John4", "Scot4"
If i give the column name as Password and row number as 4 the... (3 Replies)
Hi
Here is my script that calls my awk script
#!/bin/bash
set -x
dir="/var/local/dsx/csv"
testfile="$testfile"
while getopts " f: " option
do
case $option in
f ) testfile="$OPTARG";;
esac;
done
./scriptFile --testfile=$testfile >> $dir/$testfile.csv
It calls my awk... (1 Reply)
Hello,
am I new to awk, and I am tryint to:
INPUT FILE:
"73423555","73423556","73423557","73423558","73423559"
OUTPUT FILE:
73423555
73423556
73423557
73423558
73423559
My useless code so far:
#!/bin/awk -F ','
BEGIN
{
i=0;
} (8 Replies)
Hi Fellows,
I have been struggling to fix an issue in csv records to compose sql statements and have been really losing sleep over it. Here is the problem:
I have csv files in the following pipe-delimited format:
Column1|Column2|Column3|Column4|NEWLINE
Address Type|some descriptive... (4 Replies)
Hi
I have two csv files, with the following formats:
FileA.log:
Application, This occured blah
Application, That occured blah
Application, Also this
AnotherLog, Bob did this
AnotherLog, Dave did that
FileB.log:
Uk, London, Application, datetime, LaterDateTime, Today it had'nt... (8 Replies)
Is there a way to read in a two-columned CSV file, and based on the fields in 1st column, output many different files? The input/output looks something like:
input.csv:
call Call Mom.
call Call T-Mobile.
go Go home.
go Go to school.
go Go to gas station.
play Play music.
play Play... (4 Replies)
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)
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
LEARN ABOUT OPENSOLARIS
comm
comm(1) User Commands comm(1)NAME
comm - select or reject lines common to two files
SYNOPSIS
comm [-123] file1 file2
DESCRIPTION
The comm utility reads file1 and file2, which must be ordered in the current collating sequence, and produces three text columns as output:
lines only in file1; lines only in file2; and lines in both files.
If the input files were ordered according to the collating sequence of the current locale, the lines written will be in the collating
sequence of the original lines. If not, the results are unspecified.
OPTIONS
The following options are supported:
-1 Suppresses the output column of lines unique to file1.
-2 Suppresses the output column of lines unique to file2.
-3 Suppresses the output column of lines duplicated in file1 and file2.
OPERANDS
The following operands are supported:
file1 A path name of the first file to be compared. If file1 is -, the standard input is used.
file2 A path name of the second file to be compared. If file2 is -, the standard input is used.
USAGE
See largefile(5) for the description of the behavior of comm when encountering files greater than or equal to 2 Gbyte ( 2^31 bytes).
EXAMPLES
Example 1 Printing a list of utilities specified by files
If file1, file2, and file3 each contain a sorted list of utilities, the command
example% comm -23 file1 file2 | comm -23 - file3
prints a list of utilities in file1 not specified by either of the other files. The entry:
example% comm -12 file1 file2 | comm -12 - file3
prints a list of utilities specified by all three files. And the entry:
example% comm -12 file2 file3 | comm -23 -file1
prints a list of utilities specified by both file2 and file3, but not specified in file1.
ENVIRONMENT VARIABLES
See environ(5) for descriptions of the following environment variables that affect the execution of comm: LANG, LC_ALL, LC_COLLATE,
LC_CTYPE, LC_MESSAGES, and NLSPATH.
EXIT STATUS
The following exit values are returned:
0 All input files were successfully output as specified.
>0 An error occurred.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
+-----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+-----------------------------+-----------------------------+
|Availability |SUNWesu |
+-----------------------------+-----------------------------+
|CSI |enabled |
+-----------------------------+-----------------------------+
|Interface Stability |Standard |
+-----------------------------+-----------------------------+
SEE ALSO cmp(1), diff(1), sort(1), uniq(1), attributes(5), environ(5), largefile(5), standards(5)SunOS 5.11 3 Mar 2004 comm(1)