Grep Data Base on Header


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Grep Data Base on Header
# 8  
Old 02-27-2016
That doesn't preserve the desired sequence of columns for longer lists. man awk:
Quote:
for ( var in array ) statement

sets var to each index of array and executes statement. The order that var transverses the indices of array is not defined.
Small adaption:
Code:
awk '
BEGIN           {OFS = FS = ","}
FNR == NR       {h[$0] = NR
                 MX = NR
                 next
                }
FNR == 1        {for (i=1; i<=NF; i++) if ($i in h) a[h[$i]] = i
                }

                {for (i=1; i<=MX; i++) printf "%s%s", $a[i], (i==MX)?RS:OFS
                }
' file2 file1

This User Gave Thanks to RudiC For This Post:
# 9  
Old 02-27-2016
https://www.gnu.org/software/gawk/ma...Traversal.html
Quote:
12.2.1 Controlling Array Traversal

By default, the order in which a ‘for (indx in array)' loop scans an array is not defined; it is generally based upon the internal implementation of arrays inside awk.
Base on my experience by default awk will use incremental traversal , maybe I'm wrong.
# 10  
Old 02-27-2016
Quote:
Originally Posted by danmero
https://www.gnu.org/software/gawk/ma...Traversal.html

Base on my experience by default awk will use incremental traversal , maybe I'm wrong.
You're wrong. RudiC is correct. As an example, on OS X version 10.11.3 the command:
Code:
printf '%s\n' 1 2 3|awk '{a[$1]}END{for(i in a)print i}'

produces the output:
Code:
2
3
1

Using a different version of awk should produce the same lines of output, but the order in which they are printed is specifically not specified by the standards.
This User Gave Thanks to Don Cragun For This Post:
# 11  
Old 03-14-2016
Thanks Guys.

Perfect ....

But its Stuck when header not found from file2.txt...

Last edited by pareshkp; 03-14-2016 at 12:27 PM..
# 12  
Old 03-14-2016
Quote:
Originally Posted by pareshkp
Thanks Guys.

Perfect ....

But its Stuck when header not found from file2.txt...
Does the awk script I suggested in post #5 in this thread get "Stuck" in that case; or does it print a diagnostic message and exit?
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep Data Base on Column

HI Want to grep data from column header and match with second file. File A.txt 1 2 3 4 5 6 X1 A L D J Q R X2 B M K P w T X3 C S L P e Y X4 R Z M A r U FileB.txt 1 2 3 4 6 7 (3 Replies)
Discussion started by: pareshkp
3 Replies

2. Shell Programming and Scripting

Combine data from two files base on uniq data

File 1 ID Name Po1 Po2 DD134 DD134_4A_1 NN-1 L_0_1 DD134 DD134_4B_1 NN-2 L_1_1 DD134 DD134_4C_1 NN-3 L_2_1 DD142 DD142_4A_1 NN-1 L_0_1 DD142 DD142_4B_1 NN-2 L_1_1 DD142 DD142_4C_1 NN-3 L_2_1 DD142 DD142_3A_1 NN-41 L_3_1 DD142 DD142_3A_1 NN-42 L_3_2 File 2 ( Combination of... (1 Reply)
Discussion started by: pareshkp
1 Replies

3. Shell Programming and Scripting

Change Data base on Column

Base of last two column i want to change may data if Last two Column have A and C then Copy Column $4 to Column $3. Input :- DD142 0_1 DD142_A DD142_B A B DD142 1_1 DD142_B DD142_C B C DD142 2_1 DD142_A DD142_C A C DD142 3_1 DD142_A A DD142 3_2 DD142_A A DD142 4_1 DD142_B B ... (4 Replies)
Discussion started by: pareshkp
4 Replies

4. Shell Programming and Scripting

Filtering data base on range

Hi All, I have the file in following format. I need to change column 16 and column 17 for those lines which has atleast one numerical digit in column 2 , with the exception on SUPP1 Input file : S00005615|1044|0|0.00|0|0.00| |112|-30|28.1|0|0| |20130331|220.2|2|3|... (2 Replies)
Discussion started by: nua7
2 Replies

5. Shell Programming and Scripting

Copy same name data from other file base on column

HI I have input file A.txt X Y Z File B.txt 1 X 10 AAA 11123 2 Y 22 PlD 4563 3 Z 55 PlD 54645 4 Z 66 PlD 15698 5 F 44 PlD 154798 6 C 55 PlD 12554 7 Z 88 PlD 23265 8 C 99 PlD 151654 9 C 11 PlD 21546546 I need New File C.txt (1 Reply)
Discussion started by: pareshkp
1 Replies

6. Shell Programming and Scripting

data base update

hello everyone I need to update data base in file 1-ID 2-Name 3-ID group 4-ID teacher 5-mark list unique ID is (ID+ID group+ID teacher) we can append 5 th columns (marks list) main base file: Code: 1:John:3:1:4 3 2 2:Mark:1:2:1 3 3:Susan:3:4: input file: (1 Reply)
Discussion started by: mleplawy
1 Replies

7. UNIX for Dummies Questions & Answers

grep data from header of files

Hello I want to grep data from header of the files . The header conatins data in this format . # $maint$ test1 # $product$ TTT I want to store maint name and product name with path of file . (12 Replies)
Discussion started by: getdpg
12 Replies

8. Shell Programming and Scripting

Using loop reading a file,retrieving data from data base.

Hi All, I am having trouble through, I am reading the input from tab delimited file containing several records, e.g. line1 field1 field2 field3 so on.. line2 field1 field2 field3 so on.. .. .. on the basis of certain fields for each record in input file, I have to retrieve... (1 Reply)
Discussion started by: Sonu4lov
1 Replies

9. Programming

data base

Dear sirs, I am new to DataBase in C++,Also here iam using mysql, How can do it nad get the result back from the database and do operation onit. Thanks in advance, arunkumar (2 Replies)
Discussion started by: arunkumar_mca
2 Replies
Login or Register to Ask a Question