Sponsored Content
Top Forums Shell Programming and Scripting How to combined to file with their values Post 302270437 by summer_cherry on Sunday 21st of December 2008 09:43:18 PM
Old 12-21-2008
Hi, below code can hlep you much i think.

it can combine any number of files with column of each file one by one as long as those files have same filed seperator.


Code:
#! /usr/bin/perl -w
sub combine{
	my $sep=shift;
	my $num=$#_+1;
	for ($i=0;$i<=$num-1;$i++){
		open FH,$_[$i] or die "Can not open file";
		while(<FH>){
			my @tmp=split($sep,$_);
			map {tr/\n//d} @tmp;
			for($j=0;$j<$#tmp;$j++){
				@{$hash{$tmp[0]}}->[$j*$num+$i]=$tmp[1+$j];
			}
		}
	}
	return \%hash;	
}
$ref=combine(" ","a.txt","b.txt","c.txt");
%hash=%{$ref};
for $key (keys %hash){
	print $key,":",join ":",@{$hash{$key}};
	print "\n";
}

 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to combined file?

hello there unix programmer i have problem in combining file and their values.. here it is. in my file1 i have values 1010<tab>10<tab>11<tab>13 1011<tab>11<tab>12<tab>14 in my file2 i have values 1010<tab>22<tab>23<tab>24 1011<tab>23<tab>24<tab>25 my desired output in shell... (7 Replies)
Discussion started by: jantzen16
7 Replies

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

3. Shell Programming and Scripting

Replacing values in a file based on values in another file

Hi I have 2 files:- 1. List of files which consists of names of some output files. 2. A delimited file; delimted by "|" I want to replace the value of the $23 (23rd column) in the delimited file with name in the first file. It is always position to position. Meaning first row of the first... (5 Replies)
Discussion started by: pparthiv
5 Replies

4. Shell Programming and Scripting

remove values of a file one by one from 2nd file and then print the remaining values of 2nd file

Hi all, I have 2 files. One contains only 1 column and other one contains 2 columns, let say 1_col.txt and 2_col.txt respectively. Here, I will try to explain with an example. Input files : 1_col.txt 2_col.txt a a b x a c p ... (5 Replies)
Discussion started by: AshwaniSharma09
5 Replies

5. Shell Programming and Scripting

Compare values in two files. For matching rows print corresponding values from File 1 in File2.

- I have two files (File 1 and File 2) and the contents of the files are mentioned below. - I am trying to compare the values of Column1 of File1 with Column1 of File2. If a match is found, print the corresponding value from Column2 of File1 in Column5 of File2. - I tried to modify and use... (10 Replies)
Discussion started by: Santoshbn
10 Replies

6. Shell Programming and Scripting

Read record from the text file contain multiple separated values & assign those values to variables

I have a file containing multiple values, some of them are pipe separated which are to be read as separate values and some of them are single value all are these need to store in variables. I need to read this file which is an input to my script Config.txt file name, first path, second... (7 Replies)
Discussion started by: ketanraut
7 Replies

7. Shell Programming and Scripting

awk combined with an IF

Hi everybody! I try to printout a csv-file with the exeption of cell $1 and $4. what i tried so far: awk '{for(i = 1; i<=NF; i++);if(i == 1 || i == 4);else print($i)}' file.csv ..any ideas how it work and why my example fails? Thanks in advance! IMPe (3 Replies)
Discussion started by: IMPe
3 Replies

8. Shell Programming and Scripting

awk file to read values from Db2 table replacing hard coded values

Hi, I want to replace a chain of if-else statement in an old AWK file with values from Db2 table or CSV file. The part of code is below... if (start_new_rec=="true"){ exclude_user="false"; user=toupper($6); match(user, "XXXXX."); if (RSTART ==2 ) { ... (9 Replies)
Discussion started by: asandy1234
9 Replies

9. Shell Programming and Scripting

Combined sed+awk for lookup csv file

have written a combined sed+awk to perform a lookup operation which works but looking to enhance it. looking to match a record using any of the comma separated values + return selected fields from the record - including the field header. so: cat foo make,model,engine,trim,value... (6 Replies)
Discussion started by: jack.bauer
6 Replies

10. Shell Programming and Scripting

Taking key values from one file and extracting values from another file

Hi, I have two files with values in both. File1: cat 2 3 dog 4 5 elephant 6 7 camel 2 3 File2: ----+--gkf;ajf= ---+---- +----- cat -------=----+ 3 | 4 ----- dog ------++-- 5 | 9 ----++-- elephant | 5 | 7 ---++ camel ------ ++++_---- || 8 | 9 I want the final file as: cat 4... (1 Reply)
Discussion started by: npatwardhan
1 Replies
BOS_PRUNE(8)						       AFS Command Reference						      BOS_PRUNE(8)

NAME
bos_prune - Removes obsolete files from /usr/lib/openafs and /var/log/openafs SYNOPSIS
bos prune -server <machine name> [-bak] [-old] [-core] [-all] [-cell <cell name>] [-noauth] [-localauth] [-help] bos p -s <machine name> [-b] [-o] [-co] [-a] [-ce <cell name>] [-n] [-l] [-h] DESCRIPTION
The bos prune command removes files from the local disk of the server machine named by the -server argument, as specified by one or more of the following flags provided on the command line: o The -bak flag removes all files from the /usr/lib/openafs directory that have a ".BAK" extension. o The -old flag removes all files from the /usr/lib/openafs directory that have a ".OLD" extension. o The -core flag removes all files from the /var/log/openafs directory that have a "core." prefix. o The -all flag removes all three types of files at once. (If none of these flags are included, the command appears to succeed, but removes no files at all.) To display the timestamp on the current, ".BAK", and ".OLD" versions of one or more files, use the bos getdate command. OPTIONS
-server <machine name> Indicates the server machine from which to remove files. Identify the machine by IP address or its host name (either fully-qualified or abbreviated unambiguously). For details, see bos(8). -bak Removes all files from the /usr/lib/openafs directory that have a ".BAK" extension. Do not combine this flag and the -all flag. -old Removes all files from the /usr/lib/openafs directory that have a ".OLD" extension. Do not combine this flag and the -all flag. -core Removes all files from the /var/log/openafs directory that have a "core." prefix. Do not combine this flag and the -all flag. -all Combines the effect of the -bak, -old, and -core flags. Do not combine this flag with any of those three. -cell <cell name> Names the cell in which to run the command. Do not combine this argument with the -localauth flag. For more details, see bos(8). -noauth Assigns the unprivileged identity "anonymous" to the issuer. Do not combine this flag with the -localauth flag. For more details, see bos(8). -localauth Constructs a server ticket using a key from the local /etc/openafs/server/KeyFile file. The bos command interpreter presents the ticket to the BOS Server during mutual authentication. Do not combine this flag with the -cell or -noauth options. For more details, see bos(8). -help Prints the online help for this command. All other valid options are ignored. EXAMPLES
The following example removes all files from the /usr/lib/openafs directory on the machine "fs3.abc.com" that have a ".BAK" or ".OLD" extension. % bos prune -server fs3.abc.com -bak -old The following example removes all files from the /usr/lib/openafs directory on the machine "db2.abc.com" that have a ".BAK" or ".OLD" extension, and all files from the /var/log/openafs directory that have a "core." prefix. % bos prune -server db2.abc.com -all PRIVILEGE REQUIRED
The issuer must be listed in the /etc/openafs/server/UserList file on the machine named by the -server argument, or must be logged onto a server machine as the local superuser "root" if the -localauth flag is included. The bos prune command cannot be run against servers which are in restricted mode. SEE ALSO
KeyFile(5), UserList(5), bos(8), bos_getdate(8) COPYRIGHT
IBM Corporation 2000. <http://www.ibm.com/> All Rights Reserved. This documentation is covered by the IBM Public License Version 1.0. It was converted from HTML to POD by software written by Chas Williams and Russ Allbery, based on work by Alf Wachsmann and Elizabeth Cassell. OpenAFS 2012-03-26 BOS_PRUNE(8)
All times are GMT -4. The time now is 07:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy