How to work with two files with awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to work with two files with awk
# 15  
Old 04-24-2008
No problem for me :
Code:
$ awk ' NR==FNR { arr[FNR] = $1; next; } { print arr[FNR],$0 (arr[FNR]>0 ? OFS $0 : ""); for (i=2; i<=arr[FNR]; i++) print $0; } '  f1 f2
1 a a
2 b b
b
3 c c
c
c
4 d d
d
d
d
5 e e
e
e
e
e
6 f f
f
f
f
f
f
0 z
$

Try with nawk (or gawk)

Jean-Pierre.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

This awk should work, shouldn't it?

Heyas Trying to parse a tempfile, but somehow i mess up. To my understand, this should work... Plain: tail -n1 out.tmp 1 81.5M 1 1066k 0 0 359k 0 0:03:52 0:00:02 0:03:50 359k I want to get the 81.5M, so i'd assume it'll be $2 for awk.... tail -n1 out.tmp | awk... (24 Replies)
Discussion started by: sea
24 Replies

2. Shell Programming and Scripting

Why my awk doesn't work?

root@SDP_Wildcat_Pass-3-C1:~# cat /proc/driver/rtc rtc_time : 05:29:40 rtc_date : 2014-12-19 alrm_time : 01:51:53 alrm_date : 2014-12-20 alarm_IRQ : no alrm_pending : no update IRQ enabled : no periodic IRQ enabled : no periodic IRQ... (4 Replies)
Discussion started by: yanglei_fage
4 Replies

3. UNIX for Dummies Questions & Answers

Why does this awk statement work?

So, I have an awk statement that does a little filtering and formats the output conveniently. Here's what I had originally: <input> | awk -F "\t" 'BEGIN{OFS=","} {sub(" ","_",$2)} (NR == 1) || (substr($2,9,2) >= 19 && substr($2,1,7) == "2011-02") {print}' That did what I wanted, except that... (2 Replies)
Discussion started by: treesloth
2 Replies

4. HP-UX

awk don't work in hp-ux 11.11

Hello all! I have problem in hp-ux 11.11 in awk I want to grep sar -d 2 1 only 3 column, but have error in awk in hp-ux 11.11 Example: #echo 123 234 | awk '{print $2}' 123 234 The situattions in commands bdf | awk {print $5}' some... In hp-ux 11.31 - OK! How resolve problem (15 Replies)
Discussion started by: ostapv
15 Replies

5. Shell Programming and Scripting

Parse file using awk and work in awk output

hi guys, i want to parse a file using public function, the file contain raw data in the below format i want to get the output like this to load it to Oracle DB MARWA1,BSS:26,1,3,0,0,0,0,0.00,22,22,22.00 MARWA2,BSS:26,1,3,0,0,0,0,0.00,22,22,22.00 this the file raw format: Number of... (6 Replies)
Discussion started by: dagigg
6 Replies

6. Shell Programming and Scripting

awk: assign variable with -v didn't work in awk filter

I want to filter 2nd column = 2 using awk $ cat t 1 2 2 4 $ VAR=2 #variable worked in print $ cat t | awk -v ID=$VAR ' { print ID}' 2 2 # but variable didn't work in awk filter $ cat t | awk -v ID=$VAR '$2~/ID/ { print $0}' (2 Replies)
Discussion started by: honglus
2 Replies

7. Shell Programming and Scripting

awk -v -- Why doesn't my example work?

Hi. I've been playing around a bit. This isn't for any practical purpose-- it's really just a theoretical exercise. I wrote this little thing: foreach num ( 6 5 4 ) awk -v "number=$num" 'BEGIN{for(x=0;x<$number;x++) printf "-"; printf "\n"}' end I would expect the following output: ... (3 Replies)
Discussion started by: treesloth
3 Replies

8. Shell Programming and Scripting

NEED HELP (AWK or anything that would work)

Hi guys, heres my first post..... Input.txt: <abc a="" b="" c="" > <error x="" y="" z="" /> </abc> <abc a="" e="" c="" > ... (10 Replies)
Discussion started by: qzv2jm
10 Replies

9. Shell Programming and Scripting

why awk does not work here?

I am trying to find any line with the 9th column's number greater than 200, but why the following awk command does not work? awk '$9 > 200' /tmp/test 2007-09-05 10:13:05.714 640.847 any 1.2.3.4 719 2445 487260 32 6082 199 2007-09-05 10:13:02.686 641.827... (2 Replies)
Discussion started by: fedora
2 Replies

10. UNIX for Dummies Questions & Answers

awk may work!

:) have you tried awk... and pipe the actual start and end dates in the directory you're looking for when i go through my directories and look for certain matching files thats what i do except I am not quite sure what you are asking for so I can't give an exact example awk -f script file |... (0 Replies)
Discussion started by: moxxx68
0 Replies
Login or Register to Ask a Question
COMBINE(1)																COMBINE(1)

NAME
combine - combine sets of lines from two files using boolean operations SYNOPSIS
combine file1 and file2 combine file1 not file2 combine file1 or file2 combine file1 xor file2 _ file1 and file2 _ _ file1 not file2 _ _ file1 or file2 _ _ file1 xor file2 _ DESCRIPTION
combine combines the lines in two files. Depending on the boolean operation specified, the contents will be combined in different ways: and Outputs lines that are in file1 if they are also present in file2. not Outputs lines that are in file1 but not in file2. or Outputs lines that are in file1 or file2. xor Outputs lines that are in either file1 or file2, but not in both files. "-" can be specified for either file to read stdin for that file. The input files need not be sorted, and the lines are output in the order they occur in file1 (followed by the order they occur in file2 for the two "or" operations). Bear in mind that this means that the operations are not commutative; "a and b" will not necessarily be the same as "b and a". To obtain commutative behavior sort and uniq the result. Note that this program can be installed as "_" to allow for the syntactic sugar shown in the latter half of the synopsis (similar to the test/[ command). It is not currently installed as "_" by default, but you can alias it to that if you like. SEE ALSO
join(1) AUTHOR
Copyright 2006 by Joey Hess <joey@kitenet.net> Licensed under the GNU GPL. moreutils 2012-04-09 COMBINE(1)