Split and Rename Split Files

 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Split and Rename Split Files
# 8  
Old 03-15-2018
Quote:
Originally Posted by techedipro
RudiC & apmcd47,

Initailly I did not tested the command with -d flag . I realized it only after running it on AIX machine that -d is not an option.

-d flag will not work.

Any other work around ?


Thanks for your time and patience on this!
Yes. Look at post #5 and post #2 in this thread!

Of course, whether or not that will work in the directories in which you want to run this code will depend on what other files are already there. (But, of course that is information you haven't bothered to tell us. Just like you didn't bother to tell us you were using AIX. And you haven't bothered to tell us what shell you're using. And complaining about getting suggestions using split -d after you said you were successfully using it in post #1 in this thread is really disconcerting. Smilie If you don't tell us what other files are present in a directory where you want us to use commands that create a lot of filenames, there is a good chance we'll make suggestions that destroy some of your other files. If you don't tell us what shell you're using (including the version number of that shell), there is a good chance we'll make suggestions using the shell(s) we like to use even though the rest of your script may not support our suggestions. Please get into the habit of clearly specifying the environment you're working in or be prepared to translate the suggestions we make so that they will work in your environment. Leaving out information about your environment just wastes your time and ours.)
This User Gave Thanks to Don Cragun For This Post:
# 9  
Old 03-15-2018
Understood..Going forward I will provide enough information about the environment.
# 10  
Old 03-17-2018
I am on AIX 7100-03

I tried splitting the input file using awk and I am still stuck in passing the input file name as variable

Code:
awk 'NR%3==1{x=sprintf("%03d_Test",++i);}{print > x}' abc.txt

The above command results in output files as 001_Test ,002_Test..

I want the output as 001_abc.txt , 002_abc.txt..

Please advise
# 11  
Old 03-17-2018
Quote:
Originally Posted by techedipro
I am on AIX 7100-03

I tried splitting the input file using awk and I am still stuck in passing the input file name as variable

Code:
awk 'NR%3==1{x=sprintf("%03d_Test",++i);}{print > x}' abc.txt

The above command results in output files as 001_Test ,002_Test..

I want the output as 001_abc.txt , 002_abc.txt..

Please advise
So change:
Code:
awk 'NR%3==1{x=sprintf("%03d_Test",++i);}{print > x}' abc.txt

to:
Code:
awk 'NR%3==1{x=sprintf("%03d_%s",++i,FILENAME)}{print > x}' abc.txt

This User Gave Thanks to Don Cragun For This Post:
# 12  
Old 03-17-2018
Why not
Code:
awk '{print > sprintf ("%03d_%s", 1+int((NR-1)/3), FILENAME)}'  abc.txt

, then?

Or even
Code:
awk '{print > sprintf ("%03d_%s", (NR+2)/3, FILENAME)}' abc.txt

This User Gave Thanks to RudiC For This Post:
# 13  
Old 03-23-2018
To further extend this..how can i run the awk command in the Korn shell by passing the input file name as a paramter to the script.

Code:
#!/usr/bin/ksh
File1=$1
awk 'NR%3==1{x=sprintf("%03d_%s",++i,FILENAME)}{print > x}' $1

I tried the above script but it did not work.

Please advise
This User Gave Thanks to techedipro For This Post:
# 14  
Old 03-23-2018
Why shouldn't that work? If the first positional parameter holds the file name, it should. What errors do you get? Run with the -x option set and post the log.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Automate splitting of files , scp files as each split completes and combine files on target server

i use the split command to split a one terabyte backup file into 10 chunks of 100 GB each. The files are split one after the other. While the files is being split, I will like to scp the files one after the other as soon as the previous one completes, from server A to Server B. Then on server B ,... (2 Replies)
Discussion started by: malaika
2 Replies

2. Shell Programming and Scripting

awk : split file and rename and save in path according to content

Hello, I'm using Windows 7 ; sed, awk and gnuwin32 are installed. I have a big text file I need to manipulate. In short, I will have to split it in thousands of short files, then rename and save in a folder which name is based upon filename. Here is a snippet of my big input.txt file (this... (4 Replies)
Discussion started by: sellig
4 Replies

3. Shell Programming and Scripting

Split and rename files

Hello, Need to split files into n number of files and rename the files Example: Input: transaction.txt.1aa transaction.txt.1ab ...... Output: transaction.txt.1 transaction.txt.2 transaction.txt.3 (3 Replies)
Discussion started by: krux_rap
3 Replies

4. UNIX for Dummies Questions & Answers

Split and Rename multiple files

Hi, I have a data file like below messageid|email|timestamp 750452173|123@googlemail.com|2013-05-24 16:14:32 750464921|000@gmail.com|2013-06-13 19:38:01 750385426|001@googlemail.com|2013-01-06 12:06:36 750373470|000@wz.eu|2012-11-30 22:32:07 . . I want to split the files based on the... (4 Replies)
Discussion started by: armsaran
4 Replies

5. Shell Programming and Scripting

awk to split one field and print the last two fields within the split part.

Hello; I have a file consists of 4 columns separated by tab. The problem is the third fields. Some of the them are very long but can be split by the vertical bar "|". Also some of them do not contain the string "UniProt", but I could ignore it at this moment, and sort the file afterwards. Here is... (5 Replies)
Discussion started by: yifangt
5 Replies

6. UNIX for Dummies Questions & Answers

Split and Rename files using Terminal and bin/bash

I have a file named Me_thread_spell.txt that I want to split into smaller files. I want it to be split in each place there is a ;;;. For example, blah blah blah ;;; blah bhlah hlabl awasnceuir asenduhfoijhacseiodnbfxasd;;; oabwcuhaweoir;;; This full file would be three separate files... (7 Replies)
Discussion started by: mschpers
7 Replies

7. UNIX for Dummies Questions & Answers

Split then rename

Hi everyone, I am trying to write an if statement that will split a file if it is over 1 million records/lines into files with say 900,000 records and then rename those files without the aaa, aab, aac format that splitting normally does and into a specific naming convention. For instance, if... (2 Replies)
Discussion started by: coach5779
2 Replies

8. Shell Programming and Scripting

awk split and rename files

I have a file test1.html like below: <dctm_topnav_en_US> <html> ..... </html> <dctm_topnav_en_CA> <html> ..... </html> <dctm_topnav_en_FR> <html> ..... </html> I need to use awk to split this into three file names like en_US.html , en_CA.html, en_FR.html each having content between... (4 Replies)
Discussion started by: vijay52
4 Replies

9. Shell Programming and Scripting

split and rename the file

Hi All, I have a requirement .I want to split a file and the split files should have certain names. Currently when i use the split command split -1000 testdata testdata_ Then the output is testdata_aa testdata_bb testdata_cc and so on. But i want the output as testdata1.snd... (3 Replies)
Discussion started by: dnat
3 Replies

10. UNIX for Dummies Questions & Answers

Split a file with no pattern -- Split, Csplit, Awk

I have gone through all the threads in the forum and tested out different things. I am trying to split a 3GB file into multiple files. Some files are even larger than this. For example: split -l 3000000 filename.txt This is very slow and it splits the file with 3 million records in each... (10 Replies)
Discussion started by: madhunk
10 Replies
Login or Register to Ask a Question