substring from list of files?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting substring from list of files?
# 1  
Old 11-10-2008
substring from list of files?

Hi All,
In my unix folder there are 2 types of files available. Indicator file & data file.
ABC2008110601.TXT
ABC2008110901.TXT
ABC2008111001.TXT
ABC2008111101.TXT
ABCIND2008110601.TXT
ABCIND2008110901.TXT
ABCIND2008111001.TXT
ABCIND2008111101.TXT
what i want is that first i need to get the list of indicator file based on its arrival. & based on that i need to get data filename.
# passing ABC as a input parameter.
for file in `ls $1IND*`
do
#this gives me list of indicator file.
ind_file=$file
data_file=????
done
to get data file i need to take substring from INDICATOR file.... cut -c7- .... but i am not able to get it. In my script, the processing requires first IND file & then data file. Once it completes for one day & it again start for next day.

can someone help me?
# 2  
Old 11-10-2008
Hammer & Screwdriver One possible approach

Code:
> cat do_it.sh
# to run -- do_it.sh ABC

# passing ABC as a input parameter.
f_parm=$1
for p_file in `ls ${f_parm}IND*`
   do
#this gives me list of indicator file.
#   ls -l $p_file
   ind_file=$p_file
   data_file=$(echo $ind_file | cut -c1-3,7- )
   echo ind_file=$ind_file
   echo data_file=$data_file
done

> do_it.sh ABC
ind_file=ABCIND2008110601.TXT
data_file=ABC2008110601.TXT
ind_file=ABCIND2008110901.TXT
data_file=ABC2008110901.TXT
ind_file=ABCIND2008111001.TXT
data_file=ABC2008111001.TXT
ind_file=ABCIND2008111101.TXT
data_file=ABC2008111101.TXT

# 3  
Old 11-10-2008
Quote:
Originally Posted by joeyg
Code:
> cat do_it.sh
# to run -- do_it.sh ABC

# passing ABC as a input parameter.
f_parm=$1
for p_file in `ls ${f_parm}IND*`


Not only is ls unnecessary, but it will cause the script to fail if there are any matching filenames containing spaces. Use:

Code:
for p_file in "$f_parm"IND*`

Quote:
Code:
   do
#this gives me list of indicator file.
#   ls -l $p_file
   ind_file=$p_file
   data_file=$(echo $ind_file | cut -c1-3,7- )


What if the parameter passed in has more (or less) than 3 characters?

Code:
 data_file=$(echo "$ind_file" | cut -c1-${#f_parm},$(( ${#f_parm} + 4 ))- )

# 4  
Old 11-11-2008
Thanks guys... I got the result
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Comparing two files and list the difference with common first line content of both files

I have two file as given below which shows the ACL permissions of each file. I need to compare the source file with target file and list down the difference as specified below in required output. Can someone help me on this ? Source File ************* # file: /local/test_1 # owner: own #... (4 Replies)
Discussion started by: sarathy_a35
4 Replies

2. Shell Programming and Scripting

List all the files in the present path and Folders and subfolders files also

Hi, I need a script/command to list out all the files in current path and also the files in folder and subfolders. Ex: My files are like below $ ls -lrt total 8 -rw-r--r-- 1 abc users 419 May 25 10:27 abcd.xml drwxr-xr-x 3 abc users 4096 May 25 10:28 TEST $ Under TEST, there are... (2 Replies)
Discussion started by: divya bandipotu
2 Replies

3. Shell Programming and Scripting

Copy list of files from a keyword list to another directory

Hello, I have a folder with a massive amount of files, and I want to copy out a specific subset of the files to a new directory. I would like to use a text file with the filenames listed, but can't get it to work. The thing I'm hung up on is that the folder names in the path can and do have... (5 Replies)
Discussion started by: twjolson
5 Replies

4. UNIX for Dummies Questions & Answers

Deleting files based on Substring match

In folder there are files (eg ABS_18APR2012_XYZ.csv DSE_17APR2012_ABE.csv) . My requirement is to delete all the files except today's timestamp I tried doing this to list all the files not having today's date timestamp #!/bin/ksh DATE=`date +"%d%h%Y"` DIR=/data/rfs/... (9 Replies)
Discussion started by: manushi88
9 Replies

5. Shell Programming and Scripting

Matching the substring and join two files

Hi I had two files like below. file-1 101001234567890 101001234567891 101001234567892 101001234567893 101001234567894 101001234567895 101001234567896 101001234567897 101001234567898 101001234567899 file-2 (6 Replies)
Discussion started by: p_sai_ias
6 Replies

6. Shell Programming and Scripting

Take a list if strings from a file and search them in a list of files and report them

I have a file 1.txt with the below contents. -----cat 1.txt----- 1234 5678 1256 1234 1247 ------------------- I have 3 more files in a folder -----ls -lrt------- A1.txt A2.txt A3.txt ------------------- The contents of those three files are similar format with different data values... (8 Replies)
Discussion started by: realspirituals
8 Replies

7. Shell Programming and Scripting

find list of files from a list and copy to a directory

I will be very grateful if someone can help me with bash shell script that does the following: I have a list of filenames: A01_155716 A05_155780 A07_155812 A09_155844 A11_155876 that are kept in different sub directories within my current directory. I want to find these files and copy... (3 Replies)
Discussion started by: manishabh
3 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

I need a script to find socials in files and output a list of those files

I am trying to find socail security numbers in files in (and under) a specific directory and output a list of the files where they are found... the format would be with no dashes just 9 numeric characters in a row. I have tried this: find /DirToLookIn -exec grep '\{9\}' /dev/null {} \; >>... (1 Reply)
Discussion started by: NewSolarisAdmin
1 Replies

10. UNIX for Dummies Questions & Answers

counting a list of string in a list of txt files

Hi there! I have 150 txt files named chunk1, chunk2, ........., chunk150. I have a second file called string.txt with more than 1000 unique strings, house, dog, cat ... I want to know which command I should use to count how many times each string appears in the 150 files. I have tried... (4 Replies)
Discussion started by: Pep Puigvert
4 Replies
Login or Register to Ask a Question