Sponsored Content
Top Forums Shell Programming and Scripting Merge Multiple Files and Transpose Post 302436208 by alister on Friday 9th of July 2010 03:49:22 PM
Old 07-09-2010
Hello, mkastin:

f=file being processed
nunit=unit used for this component of nutritional data (i assume 'g' is for grams)
ndata=nutritional data

The order of the file arguments at the end of the command is critical.

Code:
awk '
  BEGIN {FS=OFS="^"}
  FNR==1 {++f}
  f==1 {nunit[$1]=$2}
  f==2 {ndata[$1]=ndata[$1] FS $3 FS nunit[$2]}
  f==3 {print FNR,$1,$2,$3 ndata[$1]}' \
NUTR_DEF.txt NUT_DATA.txt FOOD_DES.txt



Test run using your data:
Code:
$ awk '
>   BEGIN {FS=OFS="^"}
>   FNR==1 {++f}
>   f==1 {nunit[$1]=$2}
>   f==2 {ndata[$1]=ndata[$1] FS $3 FS nunit[$2]}
>   f==3 {print FNR,$1,$2,$3 ndata[$1]}' \
> NUTR_DEF.txt NUT_DATA.txt FOOD_DES.txt
1^~01001~^~0100~^~Butter, salted~^0.85^~g~^81.11^~g~^0.06^~g~^2.11^~g~
2^~01002~^~0100~^~Butter, whipped, with salt~^0.85^~g~^81.11^~g~^0.06^~g~^2.11^~g~
3^~01003~^~0100~^~Butter oil, anhydrous~^0.28^~g~^99.48^~g~^0.00^~g~^0.00^~g~
4^~01004~^~0100~^~Cheese, blue~^21.40^~g~^28.74^~g~^2.34^~g~^5.11^~g~
5^~01005~^~0100~^~Cheese, brick~^23.24^~g~^29.68^~g~^2.79^~g~^3.18^~g~
6^~01006~^~0100~^~Cheese, brie~^20.75^~g~^27.68^~g~^0.45^~g~^2.70^~g~
7^~01007~^~0100~^~Cheese, camembert~^19.80^~g~^24.26^~g~^0.46^~g~^3.68^~g~
8^~01008~^~0100~^~Cheese, caraway~^25.18^~g~^29.20^~g~^3.06^~g~^3.28^~g~
9^~01009~^~0100~^~Cheese, cheddar~^24.90^~g~^33.14^~g~^1.28^~g~^3.93^~g~
10^~01010~^~0100~^~Cheese, cheshire~^23.37^~g~^30.60^~g~^4.78^~g~^3.60^~g~

Regards,
Alister
This User Gave Thanks to alister For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Merge multiple .so files

Hi all, I am developing an application in Tcl, inwhich i have to load many modules written in C. I am converting those C modules into shared object(.so) files, and wrap it with my application using SWIG, for which i had the interface file. Now my question is, i have two different... (2 Replies)
Discussion started by: senthilvnr
2 Replies

2. Shell Programming and Scripting

Help to merge multiple .sql files

Hello all, I have a shell script that uses multiple .sql files. These .sql files mainly contain Oracle SQL queries to pull fields from the database. I want to place all the contents of these .sql files in one .sql file and have some parameter sent based on which the respective block or query... (6 Replies)
Discussion started by: snvniranjanrao
6 Replies

3. UNIX for Advanced & Expert Users

merge two column multiple files into one

Hi I have multiple files each with two columns and I need to combine all those file into a tab delimited file. (multiple entry with same name separated by a comma) The content of the files are as follows: --- file1.txt: name var1 aaa xx aaa gg bbb yy ddd zz --- file2.txt ... (8 Replies)
Discussion started by: mary271
8 Replies

4. UNIX for Dummies Questions & Answers

Merge multiple files

Hi All, How can I merge 3rd column of multiple files into 1 file, the column header in the merged file being the name of the file from which the 3rd column was taken. The first 2 columns of all the files are exactly same. Thanks for your help ! (3 Replies)
Discussion started by: newbie83
3 Replies

5. Shell Programming and Scripting

Merge column headers and transpose

Hello Everyone! I am new on this forum and this is my first post. I wish to apologize for my, not canonical, English. I would like to solve this problem but I have no clue of how do it!I will be grateful if someone could help me! I have a table like this: gene TF1 TF2 TF3 TF4 gene1 1 2 3 4... (5 Replies)
Discussion started by: giuliangiuseppe
5 Replies

6. UNIX for Dummies Questions & Answers

Merge columns from multiple files

Hi all, I've searched the web for a long time trying to figure out how to merge columns from multiple files. I know paste will append columns like so: paste file1 file2 file3 file4 file5 ... But this becomes inconvenient when you want to append a large number of files into a single file. ... (2 Replies)
Discussion started by: torchij
2 Replies

7. Shell Programming and Scripting

Merge the multiple text files into one file

Hi All, I am trying to merge all the text files into one file using below snippet cat /home/Temp/Test/Log/*.txt >> all.txt But it seems it is not working. I have multiple files like Output_ServerName1.txt, Output_ServreName2.txt I want to merge each file into one single file and... (6 Replies)
Discussion started by: sharsour
6 Replies

8. Shell Programming and Scripting

Merge columns from multiple files

Hello and Good day I have a lot of files with same number of rows and columns.$2 and $3 are the same in all files . I need to merge $2,$3,$6 from first file and $6 from another files. File1: $1 $2 $3 $4 $5 $6... (8 Replies)
Discussion started by: ali.seifaddini
8 Replies

9. Shell Programming and Scripting

Merge multiple files with common header

Hi all, Say i have multiple files x1 x2 x3 x4, all with common header (date, time, year, age),, How can I merge them to one singe file "X" in shell scripting Thanks for your suggestions. (2 Replies)
Discussion started by: msarguru
2 Replies

10. UNIX for Beginners Questions & Answers

Merge Multiple html files into one

Hi all I have written some code to write my output in html. As i have multiple servers, need to generate single html file. but my code is generating html file for each server. I have merged the files using below code. cat /home/*_FinalData.html > /home/MergedFinalData.html But how to... (1 Reply)
Discussion started by: Snehasish
1 Replies
CONSTANTS(5)							LAM FORTRAN LIBRARY						      CONSTANTS(5)

NAME
CONSTANTS - constants for LAM Fortran programming DESCRIPTION
The following table describes the values appropriate to various constants used in LAM. It also describes the meaning of the constants and lists the cpp(1) header files in which the constants can be found. To use these files, the Fortran source files will need to be passed through cpp(1) before they are given to the Fortran compiler. Some compiler drivers will run cpp(1) if the source file suffix is .F. In lieu of cpp(1), the constants can be copied to parameter statements in the Fortran source files. CONSTANT VALUE DESCRIPTION FILE Network Constants: LOCAL -2147483647 local node NET.h MAXNMSGLEN 8192 maximum length of one message packet NET.h NHDSIZE 8 maximum size in words of ndata NET.h argument NOTNODEID -2147483648 error occurred in IGNDID(2) NET.h NOTNODETYPE -2147483648 error occurred in IGRTP(2) NET.h Node Types: NTCAST 2 multicast definition NET.h NTWASTE 4 not fully used/wasted NET.h NTDISK 8 node with attached disk NET.h NTTUBE 16 node with attached video unit NET.h NTJONES 32 node is a neighbour NET.h NTBOOT 64 neighbour node to boot NET.h NTALL 127 matches any type NET.h Message Flags: NOBUF 16 turn off buffering NET.h NREEL 1024 multireel NET.h DRAWDATA 65536 ndata representation will not be NET.h changed DINT4DATA 131072 ndata holds 8 32-bit integer NET.h DFLT4DATA 262144 ndata holds 8 single precision reals NET.h DFLT8DATA 524288 ndata holds 4 double precision reals NET.h DRAWMSG 1048576 nmsg representation will not be NET.h changed DINT4MSG 2097152 nmsg holds integers NET.h DFLT4MSG 4194304 nmsg holds single precision reals NET.h DFLT8MSG 8388608 nmsg holds double precision reals NET.h Reserved Cast Identifiers: HOST2ALL -2147483646 multicast from origin to all nodes NET.h HOST2COMP -2147483642 multicast from origin to compute nodes NET.h File Flags: O_RDONLY 0 open for reading only FREQ.h O_WRONLY 1 open for writing only FREQ.h O_RDWR 2 open for reading and writing FREQ.h O_APPEND 8 append on each write FREQ.h O_CREAT 512 create file if it does not exist FREQ.h O_TRUNC 1024 truncate length to 0 FREQ.h O_EXCL 2048 error if create and file exists FREQ.h O_SYNC 8192 update file data and file status FREQ.h before writing O_LOCK 65536 lock file descriptor active FREQ.h O_REUSE 131072 reuse existing file descriptor FREQ.h O_1WAY 4194304 do not acknowledge writes FREQ.h Process Runtime Flags: RTF_WAIT 16 child sends a message to NET.h parent when it exits RTF_TRACE 256 enable process tracing NET.h LAM 6.5.8 November, 2002 CONSTANTS(5)
All times are GMT -4. The time now is 10:51 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy