07-24-2012
[awk] split file1 and save it as var from file2
I have 2 files:
file_1:
Quote:
Head;track1;track2;track3;
date1;vol2;vol4;vol9;
date2;vol5;vol0;vol1;
date3;vol7;vol2;vol5;
file_2:
Quote:
Head1
artV1 track1
artV2 track2
artV3 track3
expected result:
name file:
"artV1"
Quote:
Head;track1;
date1;vol2;
date2;vol5;
date3;vol7;
"artV2"
Quote:
Head;track2;
date1;vol4;
date2;vol0;
date3;vol2;
etc.
I have:
Quote:
FS=";";
ORS=";\n";
OFS = ";";
k=0;
while (getline < file_1 == 1) {
if (k==0) {
split($0,tmpp);
hm=NF-1;
}
k++;
for (j=2; j <= hm; j++) {
while (getline z < file_2 == 1) {
split(z,tmpq," ");
if (tmpp[j]==tmpq[2]) {
out=tmpq[1];
}
}
print $1,$j > out;
}
}
but why don;t work save to file 'out'??
when use this, it's look great but file name is wrong; is track1 not artV1
Quote:
FS=";";
ORS=";\n";
OFS = ";";
k=0;
while (getline < file_1 == 1) {
if (k==0) {
split($0,tmpp);
hm=NF-1;
}
k++;
for (j=2; j <= hm; j++) {
print $1,$j > tmpp[j];
}
}
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have an Awk string-compare problem and have searched the internet and forums for a solution i could use but cannot find a solution i understand to make work with my particular problem:
I need to compare (field1 field2 field3 of File1) against (field1 of File2) and if they match print out... (6 Replies)
Discussion started by: RacerX
6 Replies
2. Shell Programming and Scripting
I'm trying to compare two files using AWK, where if field2 of both files match, replace field1 of file1 with field1 of file2 and if there is no match just print the line of file1.
file1.txt (has empty first field)
:ABBATOM:B:H:1992
:ABBA TROJAN:B:H:1993
:ABBES FIRST HOPE:B:M:1997
:ABBEYS... (4 Replies)
Discussion started by: RacerX
4 Replies
3. Shell Programming and Scripting
Hello,
I've never used awk before, but from what I've read, it will best suit what I'm trying to do. I have 2 files. I need to replace strings in file1 with the first column of a matching string in file2. Below are examples:
File1:
random-string1
1112
1232
3213
2131
random-string2... (7 Replies)
Discussion started by: upstate_boy
7 Replies
4. UNIX for Dummies Questions & Answers
I have very limited coding skills but I'm wondering if someone could help me with this. There are many threads about matching strings in two files, but I have no idea how to add a column from one file to another based on a matching string.
I'm looking to match column1 in file1 to the number... (3 Replies)
Discussion started by: pathunkathunk
3 Replies
5. Shell Programming and Scripting
Please help,
file1.txt
1
2
3
4
5
file2.txt
3
4
5
6
7
All I need is this result.txt
1
2 (17 Replies)
Discussion started by: richmac
17 Replies
6. Shell Programming and Scripting
I have 2 files with 7 fields and i want to print the lines which is present in file1 but not in file2 based on field1 and field2.
Logic: I want to print all the lines, where there is a particular column1 and column2. And we do not find the set of column1 and column2 in file2.
Example: "sc2/10... (3 Replies)
Discussion started by: NamS
3 Replies
7. Shell Programming and Scripting
Hi, I wanted to add each row of file2.txt to entire length of file1.txt given the sample data below and save it as new file. Any idea how to efficiently do it. Thank you for any help.
input file
file1.txt file2.txt
140 30 200006 141 32
140 32 200006 142 33
140 35 200006 142... (5 Replies)
Discussion started by: ida1215
5 Replies
8. UNIX for Dummies Questions & Answers
I want to print only the lines in file2 that match file1, in the same order as they appear in file 1
file1
file2
desired output:
I'm getting the lines to match
awk 'FNR==NR {a++}; FNR!=NR && a' file1 file2
but they are in sorted order, which is not what I want:
Can anyone... (4 Replies)
Discussion started by: pathunkathunk
4 Replies
9. Shell Programming and Scripting
I am trying to use awk to find all the $2 values in file2 which is ~30MB and tab-delimited, that are between $2 and $3 in file1 which is ~2GB and tab-delimited.
I have just found out that I need to use $1 and $2 and $3 from file1 and $1 and $2of file2 must match $1 of file1 and be in the range... (6 Replies)
Discussion started by: cmccabe
6 Replies
10. Shell Programming and Scripting
Trying to use awk to:
update $2 in file2 with the $2 value in file1, if $1 in file1 matches $13 in file2, which is tab-delimeted. The $2values may already be the same so in that case nothing happens and the next line is processed.
There are exactly 4,605 unique $13 values. Thank you :).
... (4 Replies)
Discussion started by: cmccabe
4 Replies
LEARN ABOUT OPENSOLARIS
ppmtopgm
ppmtopgm(1) General Commands Manual ppmtopgm(1)
NAME
ppmtopgm - convert a portable pixmap into a portable graymap
SYNOPSIS
ppmtopgm [ppmfile]
DESCRIPTION
Reads a portable pixmap as input. Produces a portable graymap as output. The output is a "black and white" rendering of the original
image, as in a black and white photograph. The quantization formula used is .299 r + .587 g + .114 b.
Note that although there is a pgmtoppm program, it is not necessary for simple conversions from pgm to ppm , because any ppm program can
read pgm (and pbm ) files automatically. pgmtoppm is for colorizing a pgm file. Also, see ppmtorgb3 for a different way of converting
color to gray. And ppmdist generates a grayscale image from a color image, but in a way that makes it easy to differentiate the original
colors, not necessarily a way that looks like a black and white photograph.
QUOTE
Cold-hearted orb that rules the night
Removes the colors from our sight
Red is gray, and yellow white
But we decide which is right
And which is a quantization error.
SEE ALSO
pgmtoppm(1),ppmtorgb3(1),rgb3toppm(1),ppmdist(1),ppm(5),pgm(5)
AUTHOR
Copyright (C) 1989 by Jef Poskanzer.
10 April 2000 ppmtopgm(1)