If based on filename?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting If based on filename?
# 1  
Old 04-26-2007
If based on filename?

ksh.

Hi,

I am trying to loop through the files in a directory, and process them one by one where a naming convention is met, this is fine.

As part of the looping process I need to check the first two charachters of the filename and if they are AA then perform one action, if they are XX perform a different action, I've tried the below however it doesn't seem to work. Instread of printing out a header record to the TEST_FILE of "AA" or "XX" plus the remainder of the line it is printing out "00" plus the rest of the line.


for filename in *XG.txt; do

#create header record
awk '/^0/ {if (substr($filename,1,2)=="AA") print "AA"substr($0,10,6)"00"}' $filename > TEST_FILE
awk '/^0/ {if (substr($filename,1,2)=="XX") print "XX"substr($0,10,6)"00"}' $filename > TEST_FILE

....

Last edited by kshelluser; 04-26-2007 at 06:38 AM..
# 2  
Old 04-26-2007
Code:
awk '/^0/ && FILENAME ~ /^AA/  { print "AA"substr($0,10,6)"00"}' $filename  > TEST_FILE
awk '/^0/ && FILENAME ~ /^XX/ { print "XX"substr($0,10,6)"00"}' $filename  >> TEST_FILE


Last edited by anbu23; 04-26-2007 at 07:24 AM..
# 3  
Old 04-26-2007
??

Can you explain that a little further?
How does that compare the first two characters of the filename to match a string such as "AA"

Thanks.
# 4  
Old 04-26-2007
Quote:
Originally Posted by kshelluser
??

Can you explain that a little further?
How does that compare the first two characters of the filename to match a string such as "AA"

Thanks.
I made changes to the above code. Please check the previous post.

FILENAME is an awk standard variable which holds the name of file currently processing. Here FILENAME ~ /^AA/ we are checking whether filename starts with AA.
# 5  
Old 04-26-2007
Should it be:

awk '/^0/ && $filename ~ /^AA/ { print "AA"substr($0,10,6)"00"}' $filename > TEST_FILE
awk '/^0/ && $filename ~ /^XX/ { print "AA"substr($0,10,6)"00"}' $filename >> TEST_FILE


???
# 6  
Old 04-26-2007
Should it be:

awk '/^0/ && $filename ~ /^AA/ { print "AA"substr($0,10,6)"00"}' $filename > TEST_FILE
awk '/^0/ && $filename ~ /^XX/ { print "XX"substr($0,10,6)"00"}' $filename >> TEST_FILE


???
# 7  
Old 04-26-2007
have tried

awk '/^0/ && FILENAME ~ /^AA/ { print "AA"substr($0,10,6)"00"}' $filename > TEST_FILE

however there is nothing being printed out to the TEST_FILE even though the file I'm processing is named AA020507XG.txt. For some reason this is not matching the above criteria?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sorting based on filename

Hello , I have to write a bash script. I will explain the logic based on a scenario. Scenario : Suppose I have few files in a Folder X : FILE_201508.list FILE_201510.list FILE_201507.list abc_201510.csv xyz_201508.csv abc_201507.csv def_201507.csv 1) Now ,... (3 Replies)
Discussion started by: smamrm
3 Replies

2. UNIX for Dummies Questions & Answers

Finding filename based on filecontent

Hi, I have been trying , to find the filename based on some pattern present inside the file My command is as follows: filename=`grep -l 'Pattern' path/*.txt ` Its strange that it works some times, but doesn't print anything some times . But my if test -f $filename is passing all the... (2 Replies)
Discussion started by: Prashanth19
2 Replies

3. UNIX for Dummies Questions & Answers

Select max value based on filename

Hi, I would just like to know how to get the file with the max filename on a directory and get rid of all the others. For example, in directory A:/ i have the ff files: APPLE2001 APPLE2002 APPLE2003 GRAPE2004 what I want to get is the max in files whose filenames start with APPLE*,... (4 Replies)
Discussion started by: madden
4 Replies

4. Shell Programming and Scripting

awk based on filename

i need to use awk to replace string in file. if suppose filename is abcd.dat i need to replace in file california with CA else if file name name is cdef.dat i need to replace in file california with CALI i need to use awk(must) any suggestion how can i do that file structure ... (3 Replies)
Discussion started by: er_zeeshan05
3 Replies

5. Shell Programming and Scripting

Send email recipient based on filename

Hi All can someone help please create a bash script. Here's a scenario: 1. I have a directory where it's a destination for scanned documents. e.g. /dest/scan 2. The filename is in the form IDNumber_Category. e.g. 123456_notes.pdf 3. The first part of the script is to rename the... (1 Reply)
Discussion started by: aemestech
1 Replies

6. Shell Programming and Scripting

Move files based on date in filename

I know this gets covered quite a bit in the forum and I think there is enough there for me to figure out how to do what I am trying to do, I just don't think I would do it very efficiently so I am going to ask the question... I have database log files with date and time stamps in the file like ... (7 Replies)
Discussion started by: slatoms
7 Replies

7. Shell Programming and Scripting

Move file based on filename

Hi All I need a script to manipulate files based on a filename: example filename: 66600_042706.pdf the script will create a directory 66000 only if this directory is not existing. If that directory is existing it will just move the file to 66000/666000_042706.pdf in addition, i want to... (4 Replies)
Discussion started by: aemestech
4 Replies

8. Shell Programming and Scripting

Print only Filename based on given String on file name

Hi, I am new to this unix world. Any ways, I would like to write a shell script that can print the file name. Ex : directory will have 5 files with different name.No matter what are contents are. Now I need to find the file which will have particular name (sub string ).Please do not... (5 Replies)
Discussion started by: akb2010
5 Replies

9. UNIX for Dummies Questions & Answers

mv files based on filename

I have a directory of about 30,000 image files. The file names are all yearmonthday.jpg however some of the files have yearmonthday-snapshot.jpg i would like to move all files that contain the phrase -snapshot to their own directory. Any assistance with the proper commands would be much... (1 Reply)
Discussion started by: jdblank
1 Replies

10. UNIX for Dummies Questions & Answers

how to move files into different folders based on filename

I need to move a bunch of files into folders that have the same name. I wanted to either do this with some filter command or some type of batch file that I could save that would already include all of the mv commands since I will have to do this process often. Whatever method you think is easier. ... (7 Replies)
Discussion started by: italia5
7 Replies
Login or Register to Ask a Question