Merge all csv files in one folder considering only 1 header row and ignoring header of all others


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Merge all csv files in one folder considering only 1 header row and ignoring header of all others
# 1  
Old 10-21-2011
Merge all csv files in one folder considering only 1 header row and ignoring header of all others

Friends,
I need help with the following in UNIX.
Merge all csv files in one folder considering only 1 header row and ignoring header of all other files.

FYI - All files are in same format and contains same headers.

Thank you

# 2  
Old 10-21-2011
I can think of 3 different ways to interpret that requirement.

Post input and expected output so we don't have to guess. Smilie
# 3  
Old 10-21-2011
My input n number of csv files as below.
File1.csv
Header row
data row1
data row11
data row11
....

File2.csv
Header row
data row2
data row22
data row222
....

etc

Filen.csv
Header row
data rown
data rownn
data rownnn
....

My OUTPUT File Should look like
FinalFile
Header row
data row1
data row11
data row11
data row2
data row22
data row222
.....
data rown
data rownn
...
Thanks
# 4  
Old 10-21-2011
Ah, I see. 'join' confused me, I thought you were wanting longer lines instead of more lines.

Code:
FIRST=

for FILE in *.csv
do
        exec 5<"$FILE" # Open file
        read LINE <&5 # Read first line
        [ -z "$FIRST" ] && echo "$LINE" # Print it only from first file
        FIRST="no"

        cat <&5 # Print the rest directly to standard output
        exec 5<&- # Close file
        # Redirect stdout for this section into file.out
done > file.out

This User Gave Thanks to Corona688 For This Post:
# 5  
Old 10-21-2011
Its working Smilie Thank you sooooo Much Smilie
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find header in a text file and prepend it to all lines until another header is found

I've been struggling with this one for quite a while and cannot seem to find a solution for this find/replace scenario. Perhaps I'm getting rusty. I have a file that contains a number of metrics (exactly 3 fields per line) from a few appliances that are collected in parallel. To identify the... (3 Replies)
Discussion started by: verdepollo
3 Replies

2. 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

3. Shell Programming and Scripting

Replace a column with a value by ignoring the header lines

i have a file in the gz format , the content of the file is as follow. gzcat f1.gz # 1.name # 2.location # 3.age # 4.dob . . . . . . . . . # 43.hobbies < Aravind,33,chennai,09091980, , , , , , , surfing> (5 Replies)
Discussion started by: aravindj80
5 Replies

4. Shell Programming and Scripting

Add column header and row header

Hi, I have an input like this 1 2 3 4 2 3 4 5 4 5 6 7 I would like to count the no. of columns and print a header with a prefix "Col". I would also like to count the no. of rows and print as first column with each line number with a prefix "Row" So, my output would be ... (2 Replies)
Discussion started by: jacobs.smith
2 Replies

5. UNIX for Dummies Questions & Answers

Merge Files into Single with Header

Hi All, I am trying to merge all files in a directory that end in *.txt to a single file with the contents one after the other. This I can do using the cat function but how do I put the name of the file as a header for each one in the combined single file and seperate the contents from each... (2 Replies)
Discussion started by: pcg
2 Replies

6. Shell Programming and Scripting

Perl array with row header

Here is the csv file file i have: ServerName, IPAddress, Gateway, Notes ServerA, 192.168.1.100, 192.168.1.1, This is some server ServerB, 192.168.1.110, 192.168.1.1, This is some other server ServerC, 192.168.1.120, 192.168.1.1, This is some other other server I would like to have the... (6 Replies)
Discussion started by: Ikon
6 Replies

7. UNIX for Dummies Questions & Answers

split header row into one column

So, I have a massive file with thousands of columns I want a list of the headers in one column in another file. So I need to strip off the top line (can use head-1) But how can I convert from this format: A B C D E F G to A B C D E F G (6 Replies)
Discussion started by: polly_falconer
6 Replies

8. Shell Programming and Scripting

Merge text files while combining the multiple header/trailer records into one each.

Situation: Our system currently executes a job (COBOL Program) that generates an interface file to be sent to one of our vendors. Because this system processes information for over 100,000 employees/retirees (and growing), we'd like to multi-thread the job into processing-groups in order to... (4 Replies)
Discussion started by: oordonez
4 Replies

9. Linux

Reading the header of a tar file(posix header)

say i have these many file in a directory named exam. 1)/exam/newfolder/link.txt. 2)/exam/newfolder1/ and i create a tar say exam.tar well the problem is, when i read the tar file i dont find any metadata about the directories,as you cannot create a tar containig empty directories. on the... (2 Replies)
Discussion started by: Tanvirk
2 Replies

10. UNIX for Dummies Questions & Answers

insert header row into .xls

Hello, I am building an .xls file extracting info from a DB to be eventually emailed. All is good except how do I put in a header row.. like date, name of report etc. before the columns with the actual column name and data? Thanks for any assistance.. the below is after I have signed into... (11 Replies)
Discussion started by: Tish
11 Replies
Login or Register to Ask a Question