11-12-2009
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
I have a question on how to have the same filename with the counter number append at the end on the filename?
This is the code that I used
perl -n -e '/^<ko>/ and open FH, ">output".$n++; print FH;'
and the filename I get just
output0
output1
output2
output3
output4
Actually,the filename that I needed:
B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml_output0
B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml_output1
B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml_output2
B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml_output3
B20090908.1100-20090908.1200_CDMA=1,NO=2,SITE=3.xml_output4
B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml_output0
B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml_output1
B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml_output2
B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml_output3
B20090908.1200-20090908.1300_CDMA=1,NO=2,SITE=3.xml_output4
B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml_output0
B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml_output1
B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml_output2
B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml_output3
B20090908.1300-20090908.1400_CDMA=1,NO=2,SITE=3.xml_output4
How do modify this code "perl -n -e '/^<ko>/ and open FH, ">output".$n++; print FH;' " so that I can have the filename that I want?
Anyone have any idea?
Thanks in advance!
Last edited by natalie23; 11-12-2009 at 02:29 AM..
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Hello All.
I am having a directory /tmp/rahul which contains many files in the format
@#home@#rahul@#programs@#script.pl
where /home/rahul/programs is the directory where the script.pl file is to be placed.
I have many files in this format.
What i want is a script which read these... (7 Replies)
Discussion started by: rahulrathod
7 Replies
2. Shell Programming and Scripting
I am trying to write a script that prompts users for date and time, then process the gzip file into awk. During the ksh part of the script another file is created and needs to be processed with a different set of pattern matches then I need to combine the two in the end. I'm stuck at the part... (6 Replies)
Discussion started by: timj123
6 Replies
3. UNIX for Dummies Questions & Answers
I tried searching for this, but I might have used the wrong terms as I couldn't find answers to this question.
I'm looking for a way to replace all files with a certain filename with another file within a specific directory including all of it's subdirectory using a shell-script. (2 Replies)
Discussion started by: Schmellsera
2 Replies
4. Shell Programming and Scripting
Hello, I know how to join multiple files using the cat function. I want to do something a little more advanced. Basically I want to put the filename in the first column...
One thing to note is that the file is tab delimited.
e.g.
file1.txt
joe 1 4 5 6 7 3
manny 2 3 4 5 6 7
... (4 Replies)
Discussion started by: phil_heath
4 Replies
5. Shell Programming and Scripting
Hello everyone!!
I am not completely new to shell script but I havent been able to find the answer to my problem and I'm sure there are some smart brains here up for the challenge :D.
I have several CSV files that I need to combine into one, but I also need to know where each row came from.... (7 Replies)
Discussion started by: fransanchezoria
7 Replies
6. UNIX for Dummies Questions & Answers
Hi All,
Thanks in Advance
I am working on a shell script. I need some assistance.
My Requirement:
1) There are some set of files in a directory like given below
OTP_UFSC_20120530000000_acc.csv
OTP_UFSC_20120530000000_faf.csv
OTP_UFSC_20120530000000_prom.csv... (0 Replies)
Discussion started by: aealexanderraj
0 Replies
7. Programming
Hi All,
Thanks in Advance
I am working on a shell script. I need some assistance.
My code:
if
then
set "subscriber" "promplan" "mapping" "dedicatedaccount" "faflistSub" "faflistAcc" "accumulator"\
"pam_account";
for i in 1 2 3 4 5 6 7 8;... (0 Replies)
Discussion started by: aealexanderraj
0 Replies
8. Shell Programming and Scripting
Hello,
Although I have found similar questions, I could not find advice that could help with our problem.
The issue:
We have a few thousands text files (books).
Each book has many chapters. Each chapter is identified by a cite-key. We need
to split each of those book files by... (4 Replies)
Discussion started by: samask
4 Replies
9. Open Source
I have a process that requires me to read data from huge log files and find the most recent entry on a per-user basis. The number of users may fluctuate wildly month to month, so I can't code for it with names or a set number of variables to capture the data, and the files are large so I don't... (7 Replies)
Discussion started by: rbatte1
7 Replies
10. UNIX for Beginners Questions & Answers
Greetings. I am working in a Linux environment and am trying to figure out a way to rename files in a directory by appending a unique strings that appears within a certain area in those files. I have gotten as far as identifying what that particular unique string is with a command like the... (10 Replies)
Discussion started by: HLee1981
10 Replies
LEARN ABOUT SUSE
crm_diff
CRM_DIFF(8) [FIXME: manual] CRM_DIFF(8)
NAME
crm_diff - identify changes to the cluster configuration and apply patches to the configuration files
SYNOPSIS
crm_diff [-?|-V] [-o filename] [-O string] [-p filename] [-n filename] [-N string]
DESCRIPTION
The crm_diff command assists in creating and applying XML patches. This can be useful for visualizing the changes between two versions of
the cluster configuration or saving changes so they can be applied at a later time using cibadmin.
OPTIONS
--help, -?
Print a help message.
--original filename, -o filename
Specify the original file against which to diff or apply patches.
--new filename, -n filename
Specify the name of the new file.
--original-string string, -O string
Specify the original string against which to diff or apply patches.
--new-string string, -N string
Specify the new string.
--patch filename, -p filename
Apply a patch to the original XML. Always use with -o.
--cib, -c
Compare or patch the inputs as a CIB. Always specify the base version with -o and provide either the patch file or the second version
with -p or -n, respectively.
--stdin, -s
Read the inputs from stdin.
EXAMPLES
Use crm_diff to determine the differences between various CIB configuration files and to create patches. By means of patches, easily reuse
configuration parts without having to use the cibadmin command on every single one of them.
1. Obtain the two different configuration files by running cibadmin on the two cluster setups to compare:
cibadmin -Q > cib1.xml
cibadmin -Q > cib2.xml
2. Determine whether to diff the entire files against each other or compare just a subset of the configurations.
3. To print the difference between the files to stdout, use the following command:
crm_diff -o cib1.xml -n cib2.xml
4. To print the difference between the files to a file and create a patch, use the following command:
crm_diff -o cib1.xml -n cib2.xml > patch.xml
5. Apply the patch to the original file:
crm_diff -o cib1.xml -p patch.xml
FILES
/var/lib/heartbeat/crm/cib.xml--the CIB (minus status section) on disk. Editing this file directly is strongly discouraged.
SEE ALSO
???
AUTHOR
crm_diff was written by Andrew Beekhof.
[FIXME: source] 07/05/2010 CRM_DIFF(8)