01-09-2012
split XML file into multiple files based on pattern
Hello, I am using awk to split a file into multiple files using command:
nawk '{
if ( $1 == "<process" )
{
n=split($2, arr, "\"");
file=arr[n-1]
}
print > file }' processes.xml
<process name="Process1.process">
<starter>ABC</starter>
</process>
....
....
<process name="Applications/Process2.process">
<starter>DEF</starter>
</process>
I am looking to create 2 files Process1.process and Process2.process, but I am getting error for Process2 as the name is "Applications/Process2.process"
awk: cmd. line:6: (FILENAME=../processes.xml FNR=4) fatal: can't redirect to `Applications/Process2.process' (No such file or directory)
How do I yank "Applications/" as part of the script.
Thanks..
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a file with lines something like.
......
123_start
......
.......
123_end
....
.....
456_start
......
.....
456_end
....
.....
789_start
....
....
789_end (6 Replies)
Discussion started by: abinash
6 Replies
2. Shell Programming and Scripting
Hi,
I've one requirement. I have to split one comma delimited file into multiple files based on one of the column values.
How can I achieve this Unix
Here is the sample data. In this case I have split the files based on date column(c4)
Input file
c1,c2,c3,c4,c5... (1 Reply)
Discussion started by: manasvi24
1 Replies
3. Shell Programming and Scripting
I have one single shown below and I need to break each ST|850 & SE to separate file using unix script. Below example should create 3 files. We can use ST & SE to filter as these field names will remain same.
Please advice with the unix code.
ST|850
BEG|PO|1234
LIN|1|23
SE|4
ST|850... (3 Replies)
Discussion started by: prasadm
3 Replies
4. Shell Programming and Scripting
Help needed urgently please.
I have a large file - a few hundred thousand lines.
Sample
CP START ACCOUNT
1234556
name 1
CP END ACCOUNT
CP START ACCOUNT
2224444
name 1
CP END ACCOUNT
CP START ACCOUNT
333344444
name 1
CP END ACCOUNT
I need to split this file each time "CP START... (7 Replies)
Discussion started by: frustrated1
7 Replies
5. Shell Programming and Scripting
I have a requirement to split a huge file to smaller text files based on first four characters which look like
ABCD
1234
DFGH
RREX
:
:
:
:
:
0000
Each of these records are OF EQUAL bytes with a different internal layout based on the above first digit identifier..
Any help to start... (5 Replies)
Discussion started by: etldev
5 Replies
6. UNIX for Dummies Questions & Answers
Hi,
I have a Huge 7 GB file which has around 1 million records, i want to split this file into 4 files to contain around 250k messages each.
Please help me as Split command cannot work here as it might miss tags..
Format of the file is as below
<!--###### ###### START-->... (6 Replies)
Discussion started by: KishM
6 Replies
7. Shell Programming and Scripting
Hi,
I have a text file (attached the sample). I have also, attached the way the way the files need to be split.
We get this file, that will either have 24 Jurisdictions, or will miss some and retain some.
Like in the attached sample file, there are only Jurisdictions 03,11,14,15, 20 and 30.... (3 Replies)
Discussion started by: ebsus
3 Replies
8. Shell Programming and Scripting
Hi All,
We need to split a large xml into multiple valid xml with same header(2lines) and footer(last line) for N number of letterId.
In the example below we have first 2 lines as header and last line as footer.(They need to be in each split xml file)
Header:
<?xml version="1.0"... (5 Replies)
Discussion started by: vx04
5 Replies
9. Shell Programming and Scripting
Hi All,
I have the sales_data.csv file in the directory as below.
SDDCCR; SOM ; MD6546474777 ;05-JAN-16
ABC ; KIRAN ; CB789 ;04-JAN-16
ABC ; RAMANA; KS566767477747 ;06-JAN-16
ABC ; KAMESH; A33535335 ;04-JAN-16
SDDCCR; DINESH; GD6674474747 ;08-JAN-16... (4 Replies)
Discussion started by: ROCK_PLSQL
4 Replies
10. UNIX for Beginners Questions & Answers
I am using below code to split files based on blank lines but it does not work.
awk 'BEGIN{i=0}{RS="";}{x="F"++i;}{print > x;}'
Your help would be highly appreciated
find attachment of sample.txt file (2 Replies)
Discussion started by: imranrasheedamu
2 Replies
LEARN ABOUT DEBIAN
stag-splitter
STAG-SPLITTER(1p) User Contributed Perl Documentation STAG-SPLITTER(1p)
NAME
stag-splitter - splits a stag file into multiple files
SYNOPSIS
stag-splitter -split person -name social_security_no file.xml
DESCRIPTION
Splits a file using a user specified parser (default xml) around a specified split node, naming each file according to the name argument
the files will be named anonymously, unless the '-name' switch is specified; this will use the value of the specified element as the
filename
eg; if we have
<top>
<a>
<b>foo</b>
<c>yah</c>
<d>
<e>xxx</e>
</d>
</a>
<a>
<b>bar</b>
<d>
<e>wibble</e>
</d>
</a>
</top>
if we run
stag-splitter -split a -name b
it will generate two files, "foo.xml" and "bar.xml"
input format can be 'xml', 'sxpr' or 'itext' - if this is left blank the format will be guessed from the file suffix
the output format defaults to the same as the input format, but another can be chosen.
files go in the current directory, but this can be overridden with the '-dir' switch
USAGE
stag-splitter [-split <ELEMENT-NAME>] [-name <ELEMENT-NAME>] [-dir <DIR>] [-format <INPUT-FORMAT>] [-outformat <OUTPUT-FORMAT>] <FILENAMES>
-p|parser FORMAT
FORMAT is one of xml, sxpr or itext, or the name of a perl module
xml assumed as default
-w|writer FORMAT
FORMAT is one of xml, sxpr or itext, or the name of a perl module
-split|s NODE
node to split on
-name|n NODE
field/element to use when naming files
will use surrogate IDs if this argument not specified
-dir|d DIR
write files to this directory
perl v5.10.0 2008-12-23 STAG-SPLITTER(1p)