Sponsored Content
Top Forums Shell Programming and Scripting splitting a file (xml) into multiple files Post 302439876 by aigles on Saturday 24th of July 2010 11:50:32 AM
Old 07-24-2010
try and adapt the following awk script :
Code:
awk '
FNR==1 {
   path = namex = FILENAME;
   sub(/^.*\//,   "", namex);
   sub(namex "$", "", path );
   name = ext  = namex;
   sub(/\.[^.]*$/, "", name);
   sub("^" name,   "", ext );
}
/<\?xml / {
   if (out) close(out);
   out = path name (++file) ext ;
   print "Spliting to " out " ...";
}
/<\?xml /,/<\/emp>/ {
   print $0 > out
}
' sasi.xml

Input file (sasi.xml)
Code:
$ cat sasi.xml
<?xml version="UTF_8">
<emp: ....>
 <name>a</name>
 <age>10</age>
</emp>
<?xml version="UTF_8">
<emp: ....>
 <name>b</name>
 <age>10</age>
</emp>
<?xml version="UTF_8">
<emp: ....>
 <name>c</name>
 <age>10</age>
</emp>
$ ./sasi.sh
Spliting to sasi1.xml ...
Spliting to sasi2.xml ...
Spliting to sasi3.xml ...
$ more -999 sasi[0-9].xml
::::::::::::::
sasi1.xml
::::::::::::::
<?xml version="UTF_8">
<emp: ....>
 <name>a</name>
 <age>10</age>
</emp>
::::::::::::::
sasi2.xml
::::::::::::::
<?xml version="UTF_8">
<emp: ....>
 <name>b</name>
 <age>10</age>
</emp>
::::::::::::::
sasi3.xml
::::::::::::::
<?xml version="UTF_8">
<emp: ....>
 <name>c</name>
 <age>10</age>
</emp>
$

Jean-Pierre.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

splitting huge xml into multiple files

hi all i have a some huge html files (500MB to 1GB). Each file has multiple <html></html> tags <html> ................. .................... .................... </html> <html> ................. .................... .................... </html> <html> .................... (5 Replies)
Discussion started by: uttamhoode
5 Replies

2. Shell Programming and Scripting

help splitting a file into multiple files in bash

I have a file that logs multiple sessions. What I would like to do is split this file inclusive of the lines that include "starting session" and "shutting down" and ignore the data before and after the beginning of the first session and the end of the last session. The output files can be called... (2 Replies)
Discussion started by: elinenbe
2 Replies

3. Shell Programming and Scripting

Help required in Splitting a xml file into multiple and appending it in another .xml file

HI All, I have to split a xml file into multiple xml files and append it in another .xml file. for example below is a sample xml and using shell script i have to split it into three xml files and append all the three xmls in a .xml file. Can some one help plz. eg: <?xml version="1.0"?>... (4 Replies)
Discussion started by: ganesan kulasek
4 Replies

4. Shell Programming and Scripting

Splitting XML file on basis of line number into multiple file

Hi All, I have more than half million lines of XML file , wanted to split in four files in a such a way that top 7 lines should be present in each file on top and bottom line of should be present in each file at bottom. from the 8th line actual record starts and each record contains 15 lines... (14 Replies)
Discussion started by: ajju
14 Replies

5. Shell Programming and Scripting

Splitting a single file to multiple files

Hi Friends , Please guide me with the code to extract multiple files from one file . The File Looks like ( Suppose a file has 2 tables list ,column length may vary ) H..- > File Header.... H....- >Table 1 Header.... D....- > Table 1 Data.... T....- >Table 1 Trailer.... H..-> Table 2... (1 Reply)
Discussion started by: AspiringD
1 Replies

6. Shell Programming and Scripting

Splitting xml file into several xml files using perl

Hi Everyone, I'm new here and I was checking this old post: /shell-programming-and-scripting/180669-splitting-file-into-several-smaller-files-using-perl.html (cannot paste link because of lack of points) I need to do something like this but understand very little of perl. I also check... (4 Replies)
Discussion started by: mcosta
4 Replies

7. Shell Programming and Scripting

Splitting a single xml file into multiple xml files

Hi, I'm having a xml file with multiple xml header. so i want to split the file into multiple files. Sample.xml consists multiple headers so how can we split these multiple headers into multiple files in unix. eg : <?xml version="1.0" encoding="UTF-8"?> <ml:individual... (3 Replies)
Discussion started by: Narendra921631
3 Replies

8. Shell Programming and Scripting

Splitting file into multiple files and renaming them

Hi all, Newbie here. First of all, sorry if I made any mistakes while posting this question in terms of rules. Correct me if I am wrong. :b: I have a .dat file whose name is in the format of 20170311_abc_xyz.dat. The file consists of records whose first column consists of multiple dates in... (2 Replies)
Discussion started by: chanduris
2 Replies

9. Shell Programming and Scripting

Splitting the XML file into three different files

Hello Shell Guru's I have a requirement to split the source xml file into three different text file. And i need your valuable suggestion to finish this. Here is my source xml snippet, here i am using only one entry of <jms-system-resource>. There may be multiple entries in the source file. ... (5 Replies)
Discussion started by: Siv51427882
5 Replies

10. UNIX for Beginners Questions & Answers

Splitting the XML file and renaming the files

Hello Gurus, I have a requirement to split the xml file into different xml files. Can you please help me with that? Here is my Source XML file <jms-system-resource> <name>PS6SOAJMSModule</name> <target>soa_server1</target> <sub-deployment> ... (3 Replies)
Discussion started by: Siv51427882
3 Replies
createrepo(8)															     createrepo(8)

NAME
createrepo - Create repomd (xml-rpm-metadata) repository SYNOPSIS
createrepo [options] <directory> DESCRIPTION
createrepo is a program that creates a repomd (xml-based rpm metadata) repository from a set of rpms. OPTIONS
-u --baseurl <url> Optional base url location for all files. (not used by any clients at this time) -o --outputdir <url> Optional output directory (useful for read only media). -x --exclude <package> File globs to exclude, can be specified multiple times. -i --pkglist <filename> specify a text file which contains the complete list of files to include in the repository from the set found in the directory. File format is one package per line, no wildcards or globs. -q --quiet Run quietly. -g --groupfile <groupfile> A precreated xml filename to point to for group information. See examples section below for further explanation. -v --verbose Run verbosely. -c --cachedir <path> Specify a directory to use as a cachedir. This allows createrepo to create a cache of checksums of packages in the repository. In consecutive runs of createrepo over the same repository of files that do not have a complete change out of all packages this decreases the processing time dramatically. --update If metadata already exists in the outputdir and an rpm is unchanged (based on file size and mtime) since the metadata was generated, reuse the existing metadata rather than recalculating it. In the case of a large repository with only a few new or modified rpms this can significantly reduce I/O and processing time. -C --checkts Don't generate repo metadata, if their timestamps are newer than its rpms. This option decreases the processing time drastically again, if you happen to run it on an unmodified repo, but it is (currently) mutual exclusive with the --split option. --split Run in split media mode. Rather than pass a single directory, take a set of directories corresponding to different volumes in a media set. -p --pretty Output xml files in pretty format. -V --version Output version. -h --help Show help menu. -d --database Generate sqlite databases for use with yum. EXAMPLES
Here is an example of a repository with a groups file. Note that the groups file should be in the same directory as the rpm packages (i.e. /path/to/rpms/comps.xml). createrepo -g comps.xml /path/to/rpms FILES
repodata/filelists.xml.gz repodata/other.xml.gz repodata/primary.xml.gz repodata/repomd.xml SEE ALSO
yum (8) yum.conf (5) AUTHORS
Seth Vidal <skvidal@phy.duke.edu> BUGS
Any bugs which are found should be emailed to the mailing list: rpm-metadata@linux.duke.edu Seth Vidal 2005 Jan 2 createrepo(8)
All times are GMT -4. The time now is 12:41 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy