Sponsored Content
Top Forums Shell Programming and Scripting Merge CSV files and create a column with the filename from the original file Post 302521044 by Klashxx on Tuesday 10th of May 2011 05:19:14 AM
Old 05-10-2011
A Perl:
Code:
#!/usr/bin/perl
my $result_file=shift;
my $pattern=shift;
my (@file_list) = glob $pattern;

open( OUT, ">$result_file") or die "Can't open '$result_file':$!";
foreach my $in_file (@file_list) { 
   open(IN, "$in_file"); 
   while (<IN>) {
      chomp;
      print OUT $_ . ',' . $in_file . "\n" ;
      }
   close (IN);
   }

close (OUT);

Usage:
Code:
ex.pl result.txt 'file*csv'

This User Gave Thanks to Klashxx For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

merge two two txt files into one file based on one column

Hi, I have file1.txt and file2.txt and would like to create file3.txt based on one column in UNIX Eg: file1.txt 17328756,0000786623.pdf,0000786623 20115537,0000793892.pdf,0000793892 file2.txt 12521_74_4.zip,0000786623.pdf 12521_15_5.zip,0000793892.pdf Desired Output ... (5 Replies)
Discussion started by: techmoris
5 Replies

2. Shell Programming and Scripting

Merging files to create CSV file

Hi, I have different files of the same type, as: Time: 100 snr: 88 perf: 10 other: 222 Each of these files are created periodically. What I need to do is to merge all of them into one but having the following form: (2 Replies)
Discussion started by: Ravendark
2 Replies

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

4. Shell Programming and Scripting

How to create a CSV File by reading fields from separate files

SHELL SCRIPT Hi, I have 3 separate files within a folder. Every File contains data in a single column like File1 contains data mayank sushant dheeraj File2 contains DSA_AT MG_AT FLAT_09 File3 contains data 123123 232323 (2 Replies)
Discussion started by: mayanksargoch
2 Replies

5. Shell Programming and Scripting

create new column for filename

Hi, I created a list with 2 columns. Each line is from a different file. I am getting these with a loop in Perl. I would like to add a 3rd column with the name of the file that the line is coming from. I usually use pr to print the filename but this is not working here ... I was wondering if... (5 Replies)
Discussion started by: danieladna
5 Replies

6. UNIX for Dummies Questions & Answers

How to create a .csv file from 2 different .txt files?

Hi, I need to create a .csv file from information that i have in two different tab delimited .txt file. I just want to select some of the columns of each .txt file and paste them into a .cvs file. My files look like: File 1 transcript_id Seq. Description Seq. Length ... (2 Replies)
Discussion started by: alisrpp
2 Replies

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

8. Shell Programming and Scripting

Compare 2 files of csv file and match column data and create a new csv file of them

Hi, I am newbie in shell script. I need your help to solve my problem. Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file. File1: SourceFile,DateTimeOriginal /home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies

9. UNIX for Dummies Questions & Answers

Merge two csv files using column name

Hi all, I have two separate csv files(comma delimited) file 1 and file 2. File 1 contains PAN,NAME,Salary AAAAA5467D,Raj,50000 AAFAC5467D,Ram,60000 BDCFA5677D,Kumar,90000 File 2 contains PAN,NAME,Dept,Salary ASDFG6756T,Karthik,ABC,450000 QWERT8765Y,JAX,CDR,780000... (5 Replies)
Discussion started by: Nivas
5 Replies

10. Shell Programming and Scripting

I am trying to merge all csv files from source path into 1 file

I am trying to merge all csv files from source path into one single csv file in target. but getting error message: hadoop fs -cat /user/hive/warehouse/stage.db/PK_CLOUD_CHARGE/TCH-charge_*.csv > /user/hive/warehouse/stage.db/PK_CLOUD_CHARGE/final/TCH_pb_charge.csv getting error message:... (0 Replies)
Discussion started by: cplusplus1
0 Replies
install::TempContent::Objects::mod_perl-2.0.9::docs::apiUserRContributed Pinstall::TempContent::Objects::mod_perl-2.0.9::docs::api::APR::PerlIO(3)

NAME
APR::PerlIO -- Perl IO layer for APR Synopsis # under mod_perl use APR::PerlIO (); sub handler { my $r = shift; die "This Perl build doesn't support PerlIO layers" unless APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED; open my $fh, ">:APR", $filename, $r->pool or die $!; # work with $fh as normal $fh close $fh; return Apache2::Const::OK; } # outside mod_perl % perl -MAPR -MAPR::PerlIO -MAPR::Pool -le 'open my $fh, ">:APR", "/tmp/apr", APR::Pool->new or die "$!"; print $fh "whoah!"; close $fh;' Description "APR::PerlIO" implements a Perl IO layer using APR's file manipulation API internally. Why do you want to use this? Normally you shouldn't, probably it won't be faster than Perl's default layer. It's only useful when you need to manipulate a filehandle opened at the APR side, while using Perl. Normally you won't call open() with APR layer attribute, but some mod_perl functions will return a filehandle which is internally hooked to APR. But you can use APR Perl IO directly if you want. Prerequisites Not every Perl will have full "APR::PerlIO" functionality available. Before using the Perl IO APR layer one has to check whether it's supported by the used APR/Perl build. Perl 5.8.x or higher with perlio enabled is required. You can check whether your Perl fits the bill by running: % perl -V:useperlio useperlio='define'; It should say define. If you need to do the checking in the code, there is a special constant provided by "APR::PerlIO", which can be used as follows: use APR::PerlIO (); die "This Perl build doesn't support PerlIO layers" unless APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED; Notice that loading "APR::PerlIO" won't fail when Perl IO layers aren't available since "APR::PerlIO" provides functionality for Perl builds not supporting Perl IO layers. Constants "APR::PerlIO::PERLIO_LAYERS_ARE_ENABLED" See Prerequisites. API
Most of the API is as in normal perl IO with a few nuances listed in the following sections. META: need to rework the exception mechanism here. Current success in using errno ($!) being set (e.g. on open()) is purely accidental and not guaranteed across all platforms and functions. So don't rely on $!. Will use "APR::Error" for that purpose. "open" Open a file via APR Perl IO layer. open my $fh, ">:APR", $filename, $r->pool or die $!; arg1: $fh ( GLOB filehandle ) The filehandle. arg2: $mode ( string ) The mode to open the file, constructed from two sections separated by the ":" character: the first section is the mode to open the file under (>, <, etc) and the second section must be a string APR. For more information refer to the open entry in the perlfunc manpage. arg3: $filename ( string ) The path to the filename to open arg4: $p ( "APR::Pool" ) The pool object to use to allocate APR::PerlIO layer. ret: ( integer ) success or failure value (boolean). since: 2.0.00 "seek" Sets $fh's position, just like the "seek()" Perl call: seek($fh, $offset, $whence); If $offset is zero, "seek()" works normally. However if $offset is non-zero and Perl has been compiled with with large files support ("-Duselargefiles"), whereas APR wasn't, this function will croak. This is because largefile size "Off_t" simply cannot fit into a non-largefile size "apr_off_t". To solve the problem, rebuild Perl with "-Uuselargefiles". Currently there is no way to force APR to build with large files support. since: 2.0.00 C API
The C API provides functions to convert between Perl IO and APR Perl IO filehandles. META: document these See Also mod_perl 2.0 documentation. The perliol(1), perlapio(1) and perl(1) manpages. Copyright mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0. Authors The mod_perl development team and numerous contributors. perl v5.18.2 2015-0install::TempContent::Objects::mod_perl-2.0.9::docs::api::APR::PerlIO(3)
All times are GMT -4. The time now is 09:10 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy