Sponsored Content
Full Discussion: Insert FileName to headers
Top Forums Shell Programming and Scripting Insert FileName to headers Post 302925900 by ali.seifaddini on Thursday 20th of November 2014 05:02:45 AM
Old 11-20-2014
Insert FileName to headers

hi there

I have a lot of files with same number of rows and columns.$2 and $3 are the same in all files .
I run awk script and merge $2,$3,$1 from first file and $1 from another files.

I would like to know how to modify awk script to insert filename as header for merged columns ( Expected Result).

Thanks in advance.

Code:
awk 'BEGIN{OFS = "\t"}
  NR == FNR {a[$2 " " $3] = $1; next}
  {a[$2 " " $3] = (a[$2 " " $3] OFS $1)}
  END {for(x in a) print (x OFS a[x])}' *  > Result.csv

FileName:SG1
Code:
  76   3.62945 101.54361  2.000
  76   3.62945 101.54862  2.000
  75   3.62945 101.55362  2.000
  73   3.62945 101.55863  2.000
  76   3.62446 101.54361  2.000
  77   3.62446 101.54862  2.000
  77   3.62446 101.55362  2.000
  76   3.62446 101.55863  2.000
  77   3.61946 101.54361  2.000
  78   3.61946 101.54862  2.000
  78   3.61946 101.55362  2.000
  79   3.61946 101.55863  2.000
  77   3.61447 101.54361  2.000
  78   3.61447 101.54862  2.000
  78   3.61447 101.55362  2.000
  80   3.61447 101.55863  2.000


FileName:SG2
Code:
  74   3.62945 101.54361  2.000
  74   3.62945 101.54862  2.000
  74   3.62945 101.55362  2.000
  74   3.62945 101.55863  2.000
  74   3.62446 101.54361  2.000
  74   3.62446 101.54862  2.000
  74   3.62446 101.55362  2.000
  76   3.62446 101.55863  2.000
  75   3.61946 101.54361  2.000
  75   3.61946 101.54862  2.000
  75   3.61946 101.55362  2.000
  78   3.61946 101.55863  2.000
  75   3.61447 101.54361  2.000
  76   3.61447 101.54862  2.000
  76   3.61447 101.55362  2.000
  79   3.61447 101.55863  2.000


FileName:SG3
Code:
  71   3.62945 101.54361  2.000
  71   3.62945 101.54862  2.000
  71   3.62945 101.55362  2.000
  74   3.62945 101.55863  2.000
  72   3.62446 101.54361  2.000
  72   3.62446 101.54862  2.000
  72   3.62446 101.55362  2.000
  76   3.62446 101.55863  2.000
  72   3.61946 101.54361  2.000
  73   3.61946 101.54862  2.000
  74   3.61946 101.55362  2.000
  78   3.61946 101.55863  2.000
  74   3.61447 101.54361  2.000
  75   3.61447 101.54862  2.000
  75   3.61447 101.55362  2.000
  79   3.61447 101.55863  2.000

Result AWK
Code:
3.62945 101.55362	75	74	71
3.61447 101.55863	80	79	79
3.61447 101.55362	78	76	75
3.61946 101.54862	78	75	73
3.61946 101.54361	77	75	72
3.62945 101.55863	73	74	74
3.61946 101.55863	79	78	78
3.61946 101.55362	78	75	74
3.62446 101.54862	77	74	72
3.62446 101.54361	76	74	72
3.62446 101.55863	76	76	76
3.62446 101.55362	77	74	72
3.62945 101.54862	76	74	71
3.62945 101.54361	76	74	71
3.61447 101.54862	78	76	75
3.61447 101.54361	77	75	74

Expected Result:
Code:
                        SG1     SG2     SG3
3.62945 101.55362	75	74	71
3.61447 101.55863	80	79	79
3.61447 101.55362	78	76	75
3.61946 101.54862	78	75	73
3.61946 101.54361	77	75	72
3.62945 101.55863	73	74	74
3.61946 101.55863	79	78	78
3.61946 101.55362	78	75	74
3.62446 101.54862	77	74	72
3.62446 101.54361	76	74	72
3.62446 101.55863	76	76	76
3.62446 101.55362	77	74	72
3.62945 101.54862	76	74	71
3.62945 101.54361	76	74	71
3.61447 101.54862	78	76	75
3.61447 101.54361	77	75	74

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Insert date/time within a filename

Hi Guys, I need to script the renaming of files as followins: files: firstjd secondjo thirdjv My script needs to insert the date/time infront of the last 2 characters of the filenames above, any ideas greatly received :) the letters before the last 2 characters could change, I'm only... (7 Replies)
Discussion started by: cooperman
7 Replies

2. Shell Programming and Scripting

insert filename into file using SED (or AWK)

Hi, I would like to insert a file's filename into the first line of that file - for a batch of files. Is this possible using SED? Thanks in advance. (2 Replies)
Discussion started by: USER#5
2 Replies

3. Shell Programming and Scripting

Remove text between headers while leaving headers intact

Hi, I'm trying to strip all lines between two headers in a file: ### BEGIN ### Text to remove, contains all kinds of characters ... Antispyware-Downloadserver.com (Germany)=http://www.antispyware-downloadserver.c om/updates/ Antispyware-Downloadserver.com #2... (3 Replies)
Discussion started by: Trones
3 Replies

4. Shell Programming and Scripting

Merging of files with different headers to make combined headers file

Hi , I have a typical situation. I have 4 files and with different headers (number of headers is varible ). I need to make such a merged file which will have headers combined from all files (comman coluns should appear once only). For example - File 1 H1|H2|H3|H4 11|12|13|14 21|22|23|23... (1 Reply)
Discussion started by: marut_ashu
1 Replies

5. Shell Programming and Scripting

Filename from splitting files to have the same filename of the original file with counter value

Hi all, I have a list of xml file. I need to split the files to a different files when see the <ko> tag. The list of filename are B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml ... (3 Replies)
Discussion started by: natalie23
3 Replies

6. Shell Programming and Scripting

insert filename into each line of multiple files

I need to insert <filename + comma> into each line of multiple files. Any idea how to script that? Regards, Manu (5 Replies)
Discussion started by: linux.yahoo
5 Replies

7. Shell Programming and Scripting

BASH Batch renaming insert additional zero into filename

Hi all, Wondering how this could be accomplished........ a directory contains sequentially numbered files from fw01 to fw999. How would I insert an additional zero so that the directory lists these files in a proper manner? (i.e. all double digit files from fw01 to fw99 would become... (3 Replies)
Discussion started by: putter1900
3 Replies

8. Shell Programming and Scripting

insert part of a filename in a textfile

Hi All, I've got a textfile that i've stripped and edited using sed and want to insert part of the filename (original filename consists of: fw0204.txt.ncat_report.txt) but there are multiple files being delivered by an application to the data directory The part of the filename that I need to... (0 Replies)
Discussion started by: etquart
0 Replies

9. Shell Programming and Scripting

Insert Filename into Multiple Files

Hi, We have a folder that has files in the following structure abc.sql def.sql efg.sql . . . xyz.sql I have to find a certain string (say "test") in each file and replace it with the name of the file. For eg. if "test" is present in abc.sql, I want to replace it with "test abc". If... (8 Replies)
Discussion started by: jerome_rajan
8 Replies

10. UNIX for Beginners Questions & Answers

Insert the line number from text file to filename output

Hi everyone :) I have a file "words.txt" containing hundreds of lines of text. Each line contains a slogan. Using the code below i am able to generate an image with the slogan text from each line. The image filename is saved matching the last word on each line. Example: Line 1: We do... (2 Replies)
Discussion started by: martinsmith
2 Replies
All times are GMT -4. The time now is 09:11 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy