Visit Our UNIX and Linux User Community


Filename from splitting files to have the same filename of the original file with counter value


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Filename from splitting files to have the same filename of the original file with counter value
# 1  
Old 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..
# 2  
Old 11-13-2009
Code:
while(<DATA>){
	chomp;
	for (my $i=0;$i<=5;$i++){
		print $_,"_output",$i,"\n";
	}
	print "\n";
}
__DATA__
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

# 3  
Old 11-13-2009
Hi summer cherry,

Thanks for your help.

However, from your code, where should I put my code?

Thanks!
# 4  
Old 11-13-2009
With awk:

Code:
awk -F"[-.]" '{for(i=0;i<5;i++)print $0 "_output" i}' file


Previous Thread | Next Thread
Test Your Knowledge in Computers #918
Difficulty: Medium
Unix time is a single signed number which increments every millisecond.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Renaming files by appending string from within file to filename

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

2. Open Source

Splitting files using awk and reading filename value from input data

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

3. Shell Programming and Scripting

Non trivial file splitting, saving with variable filename

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

4. Programming

to extract all the part of the filename before a particular word in the filename

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

5. UNIX for Dummies Questions & Answers

to extract all the part of the filename before a particular word in the filename

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

6. Shell Programming and Scripting

Merge CSV files and create a column with the filename from the original file

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

7. Shell Programming and Scripting

joining multiple files into one while putting the filename in the file

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

8. UNIX for Dummies Questions & Answers

Replace all files with a certain filename with another file

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

9. Shell Programming and Scripting

gzcat into awk and then change FILENAME and process new FILENAME

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

10. UNIX for Dummies Questions & Answers

Moving files by splitting the path embedded in the filename

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

Featured Tech Videos