Merge files with file names added


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Merge files with file names added
# 1  
Old 01-04-2013
Merge files with file names added

I want to merge several files with identical format:
file 1:
Code:
rs3094315       0.0006105222804 0.9528743638
rs3131972       -0.05461465109  0.3139864854
rs3115860       -0.06041530955  0.3195499498

file 2:
Code:
rs2073813       -0.06039552152  0.2956527097
rs11564776      -0.1864266568   0.1976612108
rs12562034      0.00225669783   0.8555456823
rs12124819      -0.05026905981  0.2383563616
...

For each file, they have a unique name as XX1.phe.ps. XX1.phe.ps I want to merge all the files AND, add part of the file name "XXX" to the first column.
So the expected output is:
Code:
XX1 rs3094315       0.0006105222804 0.9528743638
XX1 rs3131972       -0.05461465109  0.3139864854
XX1 rs3115860       -0.06041530955  0.3195499498
XX2 rs2073813       -0.06039552152  0.2956527097
XX2 rs11564776      -0.1864266568   0.1976612108
XX2 rs12562034      0.00225669783   0.8555456823
XX2 rs12124819      -0.05026905981  0.2383563616

How can I do this?

Moderator's Comments:
Mod Comment Video tutorial on how to use code tags in The UNIX and Linux Forums.

Last edited by radoulov; 01-04-2013 at 04:49 PM..
# 2  
Old 01-04-2013
Code:
printf "%s\n" *.phe.ps | awk -F"." '{ file=$0; pre=sprintf("%s",$1); while(( getline line < file ) > 0 ) { print pre,line; } }'

This User Gave Thanks to Yoda For This Post:
# 3  
Old 01-04-2013
Code:
grep . *.phe.ps |sed 's/\.phe\.ps:/ /'

This User Gave Thanks to binlib For This Post:
# 4  
Old 01-05-2013
You can try :
Code:
awk '{ print FILENAME,$0 ;}' file1 file2 > tmp.tmp

This User Gave Thanks to mukulverma2408 For This Post:
# 5  
Old 01-05-2013
mukulverma2408, your code is good for requester with some minor changes:
Code:
awk '{ split(FILENAME,A,"."); print A[1],$0; } ' *.phe.ps

This User Gave Thanks to Yoda For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Exclude certain file names while selectingData files coming in different names in a file name called

Data files coming in different names in a file name called process.txt. 1. shipments_yyyymmdd.gz 2 Order_yyyymmdd.gz 3. Invoice_yyyymmdd.gz 4. globalorder_yyyymmdd.gz The process needs to discard all the below files and only process two of the 4 file names available ... (1 Reply)
Discussion started by: dsravanam
1 Replies

2. Shell Programming and Scripting

Merge different files into the original file

Hello Below is my requirement I have 3 files A1.txt , A2.txt and A3.txt . A2 is dynamically generating file I want the merge of A1,A2 and A3 in A2.txt Could you please help? (3 Replies)
Discussion started by: Pratik4891
3 Replies

3. UNIX for Dummies Questions & Answers

How to merge two files into third file?

Hi All, i have a requirement as below. There are two files. In 1st file a.txt i have four lines as below Ramesh Suresh Pradeep Franklin In 2nd file b.txt i have 5 lines as below Francis Elizabeth David John Ravi The output file suppose c.txt should contain 1st line of... (5 Replies)
Discussion started by: sureshk_85
5 Replies

4. Shell Programming and Scripting

Merge two files into one file

Hi, I need help with merging two files. My requirement is as below: File 1: MachineA MachineB File 2: Process1 Process2 Desired File: MachineA Process1 MachineB Process2 If file 2 contains only one entry Process1, then second line in the desired output should be: MachineA Process1... (1 Reply)
Discussion started by: chiru_h
1 Replies

5. UNIX for Dummies Questions & Answers

merge files along with file names (awk)?

Dear programmers, I have a question about conditionally merging multiple files and having their file names in the first column. Input files: file.1.extension file.2.extension file.3.extension file.4.extension ... file.1000.extension where each file looks like this (with multiple lines):... (5 Replies)
Discussion started by: wei.deng
5 Replies

6. Programming

Merge files from /etc to one file using C

Hi guys, I have a question which might be easy to answer but I don't how to do it. The thing is I need to make a program in C which creates a file with all the content from the files in \etc. I'm not new to C language but to UNIX. I've read somewhere I need to use functions like f_read... (2 Replies)
Discussion started by: sussil
2 Replies

7. Shell Programming and Scripting

Merge 3 files in 1 file in an ordered way

Hi, I have a question that I cannot solve. if I have a file like this (lets say "x-values.dat"): x1 x2 x3 another file like this (lets say "y-values.dat"): y1 y2 y3 y4 and another file like this (lets say "p-values.dat"): p1 p2 p3 ... p12 How can I get this output? x1 y1 p1 x1 y2... (16 Replies)
Discussion started by: lego
16 Replies

8. Shell Programming and Scripting

merge two files into one file use awk

Hi, guys. I have one question: I have two files: passwd and shadow (the number of records in these files are not equal)the contents of them are below: passwd: ************** ftp:x:24:24: sshd:x:71:65: uucp:x:10:14: brownj:x:5005:1000: sherrys: x :5006:1000: ... ************* ... (2 Replies)
Discussion started by: daikeyang
2 Replies

9. Shell Programming and Scripting

Merge two files whose names are given in other file

Hi, I have a pointer file ptr.txt. There may be any number of files mentioned in the ptr.txt file eg: cat ptr.txt /home/abc.txt /home/pqr.txt /home/xyz.txt I have to read this pointer file and merge the files given in the pointer file so that final file say... (1 Reply)
Discussion started by: harshada
1 Replies

10. Shell Programming and Scripting

merge two files in one file

All, I've basic knowlege on understanding UNIX Shell Programming. Right now I need to write a script for the following requirement. Kindly help me or suggest me how to write a Shell script. I've 8 .csv files that are containing "Detail" records. Each file getting more than 1 million. Another... (3 Replies)
Discussion started by: nvkuriseti
3 Replies
Login or Register to Ask a Question