Sponsored Content
Top Forums Programming Merge files from /etc to one file using C Post 302432733 by sussil on Saturday 26th of June 2010 10:45:19 AM
Old 06-26-2010
MySQL

So if anyone is interested about how it can be done, this works (more or less) but of course the code could be optimized.

Code:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/types.h>
#include <fcntl.h>
#include <sys/stat.h>

void listar(char *dir);

int main(int argc, char *argv[]){
	int dscr1, dscr2, i;
	char Buffer[512];
	dscr2 = creat("file.txt", 0666);
	DIR *d;
	struct dirent *ent;
	struct stat inode;
	if((d = opendir("/etc")) == NULL){
		printf("Couldn't open");
		perror("\etc");
		exit(1);
	}
	printf("\n");
	chdir("/etc");
	while(ent = readdir(d)){
		if((strncmp(".", ent->d_name) != 0) && (strncmp("..", ent->d_name) != 0)){
			lstat(ent->d_name, &inode);
			if(S_ISREG(inode.st_mode)){
				printf("%s\n", ent->d_name);
				if((dscr1 = open(ent->d_name, O_RDONLY)) == -1){
			                perror("ERROR");
					close(dscr1);
			                continue;
			        }
			        while (read(dscr1, &Buffer, 512)){
			                write(dscr2, Buffer, sizeof(Buffer));
			        }
				for(i = 0; i < 512; i++){
					Buffer[i] = ' ';
                                }
				close(dscr1);
			}
		}
	}
	printf("\n");
        close(dscr2);

	return 0;
}

 

10 More Discussions You Might Find Interesting

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

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

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

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

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

7. UNIX for Dummies Questions & Answers

Merge files with file names added

I want to merge several files with identical format: file 1: rs3094315 0.0006105222804 0.9528743638 rs3131972 -0.05461465109 0.3139864854 rs3115860 -0.06041530955 0.3195499498 file 2: rs2073813 -0.06039552152 0.2956527097 rs11564776 -0.1864266568 ... (4 Replies)
Discussion started by: luoruicd
4 Replies

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

9. Shell Programming and Scripting

Merge the multiple text files into one file

Hi All, I am trying to merge all the text files into one file using below snippet cat /home/Temp/Test/Log/*.txt >> all.txt But it seems it is not working. I have multiple files like Output_ServerName1.txt, Output_ServreName2.txt I want to merge each file into one single file and... (6 Replies)
Discussion started by: sharsour
6 Replies

10. 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
MERGE-INFO(1)						       XStow Reference Guide						     MERGE-INFO(1)

NAME
merge-info, merge and unmerge GNU Info index files SYNOPSIS
merge-info [OPTION ...] FILE FILE DESCRIPTION
merge-info can merge and unmerge the GNU Info index files named 'dir'. These files are usally created by install-info at install time of an application, or automatically generated by a mkinfodir script. If you are installing 2 packages at two different locations, two different 'dir' files are created. Eg.: One in /stow/foo/usr/local/info/dir and one in /stow/bar/usr/local/info/dir This is the common case if you are using a tool like xstow(1). merge-info can handle this and can merge both 'dir' files and creates a new 'dir' file. USAGE
merge-info [OPTION ...] FILE FILE Merge two files: merge-info /stow/foo/info/dir /stow/bar/info/dir Remove the content of a 'dir' file from another 'dir' file merge-info -u /stow/foo/info/dir /stow/bar/info/dir OPTIONS
-dl -debug-level INT Set's the debug level. An unsigned integer is accepted. The default value is 0. -h -help Shows a help screen. -V -Version Displays the verion number of the XStow package. merge-info is shipped with xstow(1). -u -unmerge Unmerge instead of merge. Note: It is not possible splitting up one 'dir' file into two. But removing the content of one 'dir' file from the other one is possible. -o -outfile Write the resulting 'dir' file not to stdout. Write it to a given file. Since merge-info does not open this outfile until all the merging or unmerging stuff is done it is allowed that the outfile is one the source files. eg.: merge-info -u foo/info/dir bar/info/dir -o foo/info/dir -d -duplicate Remove duplicate entries. When merging 2 files an entry can appear in more than one section. If you do not wan't this, use this option. ENVIRONMENT VARIABLES
XSTOW_DEBUG_LEVEL Same as the -debug-level option. AUTHORS
merge-info was written by Martin Oberzalek <kingleo@gmx.at>. COPYING
merge-info, a tool for merging GNU Info index files. Copyright (C) 2004-2005 by Martin Oberzalek <kingleo@gmx.at> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. SEE ALSO
info(1) install-info(1) xstow(1) XStow 1.0.0 2012-05-29 MERGE-INFO(1)
All times are GMT -4. The time now is 01:29 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy