Sponsored Content
Top Forums Shell Programming and Scripting awk print only select records from file2 Post 302543957 by alex_5161 on Tuesday 2nd of August 2011 01:45:08 PM
Old 08-02-2011
(I do not testing, but used code is not good (besides bad written) and your understanding is not exactly correct.)

Code:
 'NR==FNR{p=$1;$1=x;A[p]=$0;next}

- what the 'p' and '$1=x' do here?!
Apsolutely useless! That is enough:

Code:
 'NR==FNR{A[$1]=$0;next}

... then append FS (a comma) ...
- No! FS is set to '[ \t]*' - spaces

... $2=A[$1] FS $2;print then append FS (a comma) followed by A[$1] ...
- ??? did you try to say ' a comma (in 'print') appends a FS? That would be correct!
- that statement do not print anything, but reassign the $2 (the seconf field) by the A[$1], followed by FS (whatever it is; in your code it a space), folloved by the original value of the $2.

Also, I think the 'FS=~' should be with the '\': 'FS=\~' - the '~' by shell going to be interpreted and substituted as a home-directory.

And, the used 'awk' (should it be 'nawk' to use the FNR and '?:'-operator?) code is really weird!
It reads first file with delimiter '~' into array A, indexing by first '~' field;
check the second file,having delimitered on spaces;
having the same first field in the second file as any line in the first file, it applys to the second space-delimitered field the line from the first file (with ~-delimiters) after the '~': so, the first field is just repeated.

I could hardly guess how after all the output could be used!

Last edited by radoulov; 08-02-2011 at 03:03 PM.. Reason: Code tags!
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using a variable to select records with awk

As part of a bigger task, I had to read thru a file and separate records into various batches based on a field. Specifically, separate records based on the value in the batch field as defined below. The batch field left-justified numbers. The datafile is here > cat infile 12345 1 John Smith ... (5 Replies)
Discussion started by: joeyg
5 Replies

2. UNIX for Dummies Questions & Answers

AWK ??-print for fields within records in a file

Hello all, Would appreciate if someone can help me out on the following requirement. INPUT FILE: -------------------------- TPS REPORT abc def ghi jkl mon pqr stu vrs lll END OF TPS REPORT TPS REPORT field1 field2 field3 field4 field5 field6 (8 Replies)
Discussion started by: hyennah
8 Replies

3. Shell Programming and Scripting

Based on num of records in file1 need to check records in file2 to set some condns

Hi All, I have two files say file1 and file2. I want to check the number of records in file1 and if its atleast 2 (i.e., 2 or greater than 2 ) then I have to check records in file2 .If records in file2 is atleast 1 (i.e. if its not empty ) i have to set some conditions . Could you pls... (3 Replies)
Discussion started by: mavesum
3 Replies

4. UNIX for Advanced & Expert Users

print contents of file2 for matching pattern in file1 - AWK

File1 row is same as column 2 in file 2. Also file 2 will either start with A, B or C. And 3rd column in file 2 is always F2. When column 2 of file 2 matches file1 column, print all those rows into a separate file. Here is an example. file 1: 100 103 104 108 file 2: ... (6 Replies)
Discussion started by: i.scientist
6 Replies

5. Shell Programming and Scripting

AWK, print no of records after pattern match.

Hi ALL :). i have a file, cat 3 + dog 5 + rat 6 - i want to print no of record having pattern "+". thanks in advance :confused:. (2 Replies)
Discussion started by: admax
2 Replies

6. Shell Programming and Scripting

Print unique records in 2 columns using awk

Is it possible to print the records that has only 1 value in 2nd column. Ex: input awex1 1 awex1 2 awex1 3 assww 1 ader34 1 ader34 2 output assww 1 (5 Replies)
Discussion started by: quincyjones
5 Replies

7. Shell Programming and Scripting

awk read in file1, gsub in file2, print to file3

I'm trying to use awk to do the following. I have file1 with many lines, each containing 5 fields describing an individual set. I have file2 which is a template config file with variable space holders to be replaced by the values in file1. I would like to substitute each set of values in file1 with... (6 Replies)
Discussion started by: msmehaffey
6 Replies

8. Shell Programming and Scripting

To select non-duplicate records using awk

Friends, I have data sorted on id like this id addressl 1 abc 2 abc 2 abc 2 abc 3 aabc 4 abc 4 abc I want to pick all ids with addressesses leaving out duplicate records. Desired output would be id address 1 abc 2 abc 3 abc 4 abc (5 Replies)
Discussion started by: paresh n doshi
5 Replies

9. Shell Programming and Scripting

awk print matching records and occurences of each record

Hi all , I have two files : dblp.xml with dblp records and itu1.txt with faculty members records. I need to find out how many dblp records are related to the faculty members. More specific: I need to find out which names from itu1.txt are a match in dblp. xml file , print them and show how many... (4 Replies)
Discussion started by: iori
4 Replies

10. Shell Programming and Scripting

Awk- Indexing a list of numbers in file2 to print certain rows in file1

Hi Does anyone know of an efficient way to index a column of data in file2 to print the coresponding row in file1 which corresponds to the data in file2 AND 30 rows preceding and after the row in file1. For example suppose you have a list of numbers in file2 (single column) as follows:... (6 Replies)
Discussion started by: Geneanalyst
6 Replies
SHELR(1)																  SHELR(1)

NAME
shelr - screencasting for shell ninjas DESCRIPTION
Shelr records terminal output and can replay it. Also you can shere Your records at http://shelr.tv/ or other services. SYNOPSIS
shelr command [id] COMMANDS
record Will record your terminal unless you type exit or Ctrl+D and store it to $HOME/.local/share/shelr/ list lists all your shellcasts. play plays local or remote shellcast. push publish your shellcast dump dump shellcast as json to current directory. EXAMPLES
Record your shellcast: $ shelr record $ # do something ... $ exit List recorded shellcasts: $ shelr list Play local shellcast: $ shelr play 1293702847 # play your own local record $ shelr play record.json # created with shelr dump $ shelr play last # will play most recent local record Play remote shellcast: $ shelr play http://shelr.tv/records/4d1f7c3890820d6144000002.json Publish your shellcast: $ shelr push 1293702847 $ shelr push last # will push most recent local record Setup recording backend: $ shelr backend script $ shelr backend ttyrec BUGS
Windows heh. COPYRIGHT
(C) 2010, 2011, 2012 Antono Vasiljev self@antono.info Licensed under GPLv3+ SEE ALSO
script(1), scriptreplay(1), ttyrec(1), ttyplay(1) April 2012 SHELR(1)
All times are GMT -4. The time now is 10:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy