Sponsored Content
Top Forums Shell Programming and Scripting Breaking large file into small files Post 302937541 by emily on Friday 6th of March 2015 05:21:18 AM
Old 03-06-2015
Hello Ravinder and Don,
Here is my modified script [1] and the output. Why I am getting filename like:
Code:
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 _0.txt



[1]
Code:
#!/bin/bash                                                                                                                  

OUTPUT=InputFile_
GREP=root
EOSPATH="srm://dcache-se-cms.desy.de:8443SingleMu
onGun/SingleMuMinus_Fall14_FlatPt-0to200_MCRUN2_72_V3_GEN_SIM_DIGI_RECO_L1/150127_084421/"
FILEPATH[1]=$EOSPATH/0001
FILEPATH[2]=$EOSPATH/0002
#FILEPATH[3]=$EOSPATH/0003                                                                                                   
#FILEPATH[4]=$EOSPATH/0004                                                                                                   

## copy the FileName from eos to $3                                                                                          
for FileNameIndx in "${FILEPATH[@]}"
  do
    if [[ ! -e "dest_path/$FileNameIndx" ]]; then
        echo "Copying fileName \"$FileNameIndx  | grep root\" to $OUTPUT"
        Index=$(echo $FileNameIndx | awk '{split($FileNameIndx, a, "000"); print "000"a[2]}')
        srmls $FileNameIndx --count 99999 --offset 2 | grep $GREP | awk -F'tier2' '{print string path $GREP}' string="" path\
=""  > $OUTPUT$Index
        FINALFILE=$OUTPUT$Index
        echo $FINALFILE
        echo "progressing ... please be patient..."

        awk '                                                                                                                
        BEGIN {outfile = sprintf("%s_%01d.txt", FILENAME, 0)                                                                 
}                                                                                                                            
{print > outfile                                                                                                             
}                                                                                                                            
(NR % 200) == 0 {                                                                                                            
close(outfile)                                                                                                               
outfile = sprintf("%s_%01d.txt", FILENAME, int(NR/200))                                                                      
}'  $FINALFILE

    fi
done

It is working, but giving the output like:
Code:
-rwxr-xr-x 1 emily af-cms   1820  6. Mr 11:18 copyTextFromCastor.sh
-rw-r--r-- 1 emily af-cms 271184  6. Mr 11:18 InputFile_0001
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0001_1.txt
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0001_2.txt
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0001_3.txt
-rw-r--r-- 1 emily af-cms  53584  6. Mr 11:18 InputFile_0001_4.txt
-rw-r--r-- 1 emily af-cms 271456  6. Mr 11:18 InputFile_0002
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 _0.txt
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0002_1.txt
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0002_2.txt
-rw-r--r-- 1 emily af-cms  54400  6. Mr 11:18 InputFile_0002_3.txt
-rw-r--r-- 1 emily af-cms  53856  6. Mr 11:18 InputFile_0002_4.txt


Last edited by emily; 03-06-2015 at 06:32 AM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Splitting large file into small files

Hi, I need to split a large file into small files based on a string. At different palces in the large I have the string ^Job. I need to split the file into different files starting from ^Job to the last character before the next ^Job. Also all the small files should be automatically named.... (4 Replies)
Discussion started by: dncs
4 Replies

2. Shell Programming and Scripting

Split a file into 16 small files

Hi I want to split a file that has 'n' number of records into 16 small files. Can some one suggest me how to do this using Unix script? Thanks rrkk (10 Replies)
Discussion started by: rrkks
10 Replies

3. Shell Programming and Scripting

Split large file and add header and footer to each small files

I have one large file, after every 200 line i have to split the file and the add header and footer to each small file? It is possible to add different header and footer to each file? (7 Replies)
Discussion started by: ashish4422
7 Replies

4. Shell Programming and Scripting

script to splite large file to number of small files

Dear All, Could you please help me to split a file contain around 240,000,000 line to 4 files all equally likely , note that we need to maintain that the end of each file should started by start flage (MSISDN) and ended by end flag (End), also the number of the line between the... (10 Replies)
Discussion started by: ahmed.gad
10 Replies

5. Shell Programming and Scripting

Breaking one file into many files based on first column?

Hi, I have a file that looks like this (tab deliminited). MAT1 YKR2 3 MAT1 YMR1 2 MAT1 YFG2 2 MAT2 YLM4 4 MAT2 YHL2 1 BAR1 YKR2 3 BAR1 YFR1 4 BAR1 YMR1 1 What I want to do is break this file down into multiple files. So the result will look like this: File 1... (2 Replies)
Discussion started by: kylle345
2 Replies

6. Shell Programming and Scripting

Breaking the files as 10k recs. per file

Hi, I have a code as given below Set -A _Category="A\ B\ C" for _cat in ${_Category} do sed -e "s:<TABLE_NAME>:${_cat}:g" \ -e "s:<date>:${_dt}:g" \ ${_home}/skl/sq1.sql >> ${_dest}/del_${_dt}.sql fi ... (4 Replies)
Discussion started by: mr_manii
4 Replies

7. UNIX for Advanced & Expert Users

Splitting a file into small files

Hi Folks, Please help me in solving the problem. I want to write script in order to split a file into small pieces and send it automatically through mail. Ex. The file name is CALM*.txt . It is around 50 MB. I want to split the file into 20 MB 2-3 smaller files and send (like uuencode) it... (6 Replies)
Discussion started by: piyushbhashkar
6 Replies

8. UNIX for Dummies Questions & Answers

Breaking a fasta formatted file into multiple files containing each gene separately

Hey, I've been trying to break a massive fasta formatted file into files containing each gene separately. Could anyone help me? I've tried to use the following code but i've recieved errors every time: for i in *.rtf.out do awk '/^>/{f=++d".fasta"} {print > $i.out}' $i done (1 Reply)
Discussion started by: Ann Mc Cartney
1 Replies

9. Shell Programming and Scripting

Split a large array into small chunks

Hi, I need to split a large array "@sharedArray" into 10 small arrays. The arrays should be like @sharedArray1,@sharedArray2,@sharedArray3...so on.. Can anyone help me with the logic to do so :(:confused: (6 Replies)
Discussion started by: rkrish
6 Replies

10. UNIX for Beginners Questions & Answers

Split large file into 24 small files on one hour basis

I Have a large file with 24hrs log in the below format.i need to split the large file in to 24 small files on one hour based.i.e ex:from 09:55 to 10:55,10:55-11:55 can any one help me on this.! ... (20 Replies)
Discussion started by: Raghuram717
20 Replies
All times are GMT -4. The time now is 08:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy