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
GREP(1) 						      General Commands Manual							   GREP(1)

NAME
grep - search a file for a pattern SYNOPSIS
grep [ option ... ] pattern [ file ... ] DESCRIPTION
Grep searches the input files (standard input default) for lines (with newlines excluded) that match the pattern, a regular expression as defined in regexp(6). Normally, each line matching the pattern is `selected', and each selected line is copied to the standard output. The options are -c Print only a count of matching lines. -h Do not print file name tags (headers) with output lines. -i Ignore alphabetic case distinctions. The implementation folds into lower case all letters in the pattern and input before interpre- tation. Matched lines are printed in their original form. -l (ell) Print the names of files with selected lines; don't print the lines. -L Print the names of files with no selected lines; the converse of -l. -n Mark each printed line with its line number counted in its file. -s Produce no output, but return status. -v Reverse: print lines that do not match the pattern. Output lines are tagged by file name when there is more than one input file. (To force this tagging, include /dev/null as a file name argument.) Care should be taken when using the shell metacharacters $*[^|()= and newline in pattern; it is safest to enclose the entire expression in single quotes '...'. SOURCE
/sys/src/cmd/grep.c SEE ALSO
ed(1), awk(1), sed(1), sam(1), regexp(6) DIAGNOSTICS
Exit status is null if any lines are selected, or non-null when no lines are selected or an error occurs. GREP(1)