Substring from the file name


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Substring from the file name
# 1  
Old 01-30-2013
Substring from the file name

Hi

I need substring from the file name of list of files. I mean i will have to load all the files into database which are there in the Directory.

I need to make the directory with the date(which is substring of the filename Eg: Filename_Name_2012013001010101.txt, So the directory should be 20120130).

I need to load this file into oracle and need to move the file into above created directory.

It should happend till all files are loaded into database. Could someone give the ideas?

Thanks
# 2  
Old 01-30-2013
Code:
$ echo Filename_Name_2012013001010101.txt | awk '/^[0-9]/{print substr($1,1,8)}' RS='[_.]'
20120130

# 3  
Old 01-30-2013
Create a file with list of file names to be loaded, use SQL loader to load them to Oracle DB.

Verify the result of load operation, if successful then run below bash script to perform the move:
Code:
#!/bin/bash
while read filename
do
        fname=${filename##*_}
        dir=${fname:0:8}
        echo mkdir -p "$dir"
        echo mv "$filename" "${dir}/"
done < file.list

Note: Remove the highlighted echo if the output looks good.
# 4  
Old 01-30-2013
Thanks for you reply,

But forgot to tell you that Filename may have numbers as well apart from Date and Full file name will have n. number of underscores. What i need is we should pick up the date from end of the file name as it has date and time before the extension of file.
# 5  
Old 01-30-2013
If you want to extract the date from end of the file name, then try this:
Code:
filename="Filename_Name_2012013001010101.txt"
fname=${filename%%.*}
fname=${fname##*_}
dir=${fname:0:8}

# 6  
Old 01-31-2013
Thanks Bipin,

I tried running the script using your code but it gives an error saying bad substitution at "dir=${fname:0:8}"
# 7  
Old 01-31-2013
Quote:
Originally Posted by cnrj
but it gives an error saying bad substitution
Which shell are you using?

bakunin
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Match substring from a column of the second file

I want to merge the lines by matching substring of the first file with first column of the second file. file1: S00739A_ACAGTG_L001_R1.fq.gz S00739A_ACAGTG_L001_R2.fq.gz S00739B_GCCAAT_L001_R1.fq.gz S00739B_GCCAAT_L001_R2.fq.gz S00739D_GTGAAA_L001_R1.fq.gz S00739D_GTGAAA_L001_R2.fq.gz... (14 Replies)
Discussion started by: yifangt
14 Replies

2. Shell Programming and Scripting

Extract a substring from a file

Hello, A question please. A have a file that contains a string. Ex: AAAABBCCCCCDDEEEEEEEEEEFF I'd want to recover 2 substrings, 'BB' and 'FF' and then leave them in a new file. From position 5, 2 caracters (ex:"BB") and from position 25, 2 caracters (ex:"FF") in a file. Could anoyone help me... (3 Replies)
Discussion started by: nolo41
3 Replies

3. Shell Programming and Scripting

Extract substring in a file

Hello, A question please. A have a file that contains a string. Ex: AAAABBCCCCCDDEEEEEEEEEEFF I'd want to recover 2 substrings, 'BB' and 'FF' and then leave them in a new file. Could anoyone help me please? Thanks in advance (3 Replies)
Discussion started by: nolo41
3 Replies

4. UNIX for Dummies Questions & Answers

Deleting file basing on the timestamp substring in the file name

Hello, I have in my backup folder, files with names convention like this : randomFileNames_13-02-2014_23h13m09+1392333189 randomFileNames_14-02-2014_02h13m09+1392343989 randomFileNames_14-02-2014_04h13m09+1392351189 etc.... Base on timestamp at end of the filename, I would to delete all the... (7 Replies)
Discussion started by: thuyetti
7 Replies

5. Shell Programming and Scripting

Get Substring from file name.

Hi, In my shell script. I am reading all files in directory. And say if the file names are as follows: adio_idfl_201302_df.txt dfa_201301_dll.ctl dalkd_20130301.csv I would like to extract the numeric piece of each file name and display as follows: 201302 201301 20130301 I... (9 Replies)
Discussion started by: pinnacle
9 Replies

6. Shell Programming and Scripting

Get value of substring from a file

Hi, I have a file with a long string, in the format: name1=value,name2=value2.....namen=valuen I want to query the file and extract 'value2' ONLY. name2=value2 can exist anywhere within the file. Can anyone help me please wth a suitable BASH command? Many thanks, Matt (4 Replies)
Discussion started by: mjwoodford
4 Replies

7. Shell Programming and Scripting

How do I pull a substring out of a file?

I'm new to shell scripting and am trying to write a small script that pulls a substring out of a file that has a few lines of text in it. The file will eventually have a lot of text, I just put a few lines in it for testing purposes. Anyway, this is what I have so far... #!/bin/ksh ... (4 Replies)
Discussion started by: enator45
4 Replies

8. Shell Programming and Scripting

Help on substring of file list

Hi, I have a folder list as below, I want to write a script to return a list like: CASTLE_BU_20080801 CAUSEWAY_BU_20080801 HUNGHOM_BU_20080801 : : Can anyone help? Thanks! Victor Cheung List of the folder: # ls CASTLE_BU_20080801.DMP OFFICE_MY1_BU_20080801.DMP... (1 Reply)
Discussion started by: victorcheung
1 Replies

9. Shell Programming and Scripting

extracting substring from a file name

hi i need to name a file with a substring of a another file name. i.e. if the old filename is abc.txt , the new filename should be abc_1.txt i should get the substring of the file name and then name the new one please let me know how to do it (4 Replies)
Discussion started by: adityamahi
4 Replies

10. Shell Programming and Scripting

Calling a substring from another file

I have two files: One is a list of numbers: 1 5 6 7 10 The second is a very long string abcdefghijklmno......1234567890 I'd like to print a new file with a 5 character substring that starts at each the positions listed in the 1st file: such as: abcde (4 Replies)
Discussion started by: dcfargo
4 Replies
Login or Register to Ask a Question