Help needed with find command


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help needed with find command
# 1  
Old 05-28-2012
Question Help needed with find command

Hi!

hi
I used find command to find some file names as per input from user. I used it for current directory. It was working fine. Now I tried with giving some other directory path. Its giving issues.
Here what I tried. Script will take input from user say 1_abc.txt, find the file and print list. if files are not there it will print No Files with this name message.
Finding files in the current Directory.
Code:
echo View Log files;    
echo Enter Log file name;
read -r filename ; find  "$filename"_*.* -type f ! -name ".*" 2>errorlog 
if [ -s errorlog ] ; then echo "No Files with this name"; fi 
echo Press Enter; 
read x;;

Then I tried with some different path, as:
Code:
echo View Log files;    
echo Enter Log file name;
read -r filename ; find /backup/test1/LogFiles/ "$filename"_*.* -type f ! -name ".*" 2>errorlog | awk -F/ '{print $NF}'
if [ -s errorlog ] ; then echo "No Files with this name"; fi 
echo Press Enter; 
read x;;

Now what is the problem with above code.
1. Its printing files names with fullpath i.e., /backup/test1/LogFiles/1_abc.txt
This is not required. I need to print only file names.
2. The if statement is always in execution. Its always printing the "No Files with this name" statement.
Simply its not working. I tried to use find with -P -H options but not of use.

Urgent help is needed.
Please help me to make it work.
Thanks,
# 2  
Old 05-28-2012
remove the file named errorlog before entering to the loop.
try to give the full path of errorlog and check the errorlog in if condition with full path.
check for the existence or non-zero size of errorlog.

for zero file size checking - it will return true
Code:
if ! [ -s errorlog ]

for file name printing try -
Code:
 print `basename $NF`

# 3  
Old 05-28-2012
change the find cmd
Code:
find /backup/test1/LogFiles/ -type f -name "$filename"_*.* 2>errorlog

# 4  
Old 05-28-2012
@donadarsh I didn't get you. I don't know much about scripting. So please tell in details.

@ygemici Its not working. Same result i.e., printing fullname with path and if statement doesn't work with this.
Plz help
# 5  
Old 05-28-2012
Code:
echo View Log files;     
echo Enter Log file name;
rm errorlog
read -r filename ; 
find /backup/test1/LogFiles/ "$filename"_*.* -type f ! -name ".*" 2>errorlog | awk -F/ '{print `basename $NF`}' 
if [ -s errorlog ] ; then echo "No Files with this name"; 
fi  
echo Press Enter; 
 read x;;

# 6  
Old 05-28-2012
Quote:
Originally Posted by sukhdip
@donadarsh I didn't get you. I don't know much about scripting. So please tell in details.

@ygemici Its not working. Same result i.e., printing fullname with path and if statement doesn't work with this.
Plz help
Code:
# read -r filename; find /backup/test1/LogFiles/ -type f -name "$filename_*.*" ! -name ".*" 2>errorlog|awk '{sub(".*/","")}1'

# 7  
Old 05-28-2012
Hi everybody thanks for your help.
I solved it this way.
Code:
find /backup/test1/LogFiles/$filename"_"*.* ........

It worked as per my requirements. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Help needed - find command for recursive search

Hi All I have a requirement to find the file that are most latest to be modified in each directory. Can somebody help with the command please? E.g of the problem. The directory A is having sub directory which are having subdirectory an so on. I need a command which will find the... (2 Replies)
Discussion started by: sudeep.id
2 Replies

2. UNIX for Dummies Questions & Answers

find with prune option help needed

Hello, I am using ksh93 (/usr/dt/bin/dtksh) on Solaris and am stuck when trying to use find with the -prune option. I need to search a directory (supplied in a variable) for files matching a certain pattern, but ignore any sub-directories. I have tried: find ${full_path_to_dir_to_search}... (9 Replies)
Discussion started by: gary_w
9 Replies

3. UNIX for Dummies Questions & Answers

find/mail help needed

so I saved a mail message of mine to a new dir/file My question is how do I find the path to my file containing my saved email from my home dir prompt in unix? Thanks. (1 Reply)
Discussion started by: drew211
1 Replies

4. UNIX for Dummies Questions & Answers

Help needed with find command

Hi, I'm a complete noobie at UNIX and have hit a problem. I'm using the 'Talend' ETL tool to try and extract flat files from UNIX on a weekly basis. The dates are maintained in a control table and the appropriate folder has been mounted. I am using a component in 'Talend' which enable... (1 Reply)
Discussion started by: markee
1 Replies

5. UNIX for Dummies Questions & Answers

Help needed with find command

Hi Guys, Can someone help with this. I have to find out a file name which calls the following sql script "abhishek_to_sdw.sql". In other words it contains a pattern like "abhishek_to_sdw.sql". I have found out using "find" command that the file abhishek_to_sdw.sql is existing on the... (4 Replies)
Discussion started by: max29583
4 Replies

6. Shell Programming and Scripting

find explantion needed

Dear Experts, please can any body help me to explain the below commants in detail what exactly its doing what we mean by -mtime +2 and -exec and rm{}; find /home/data/ab.200* -mtime +2 -exec rm {} \; Regards, SHARY (3 Replies)
Discussion started by: shary
3 Replies

7. UNIX for Dummies Questions & Answers

FIND and REMOVE HELP NEEDED!!!

Hello, I am aware of that Find command finds certain files and remove command removes certain files. However, is there a way to Find certain DIRECTORY and remove that DIRECTORY? thank you (3 Replies)
Discussion started by: scooter17
3 Replies

8. UNIX for Dummies Questions & Answers

Find and Remove help needed!!!!

thank you for the help. (1 Reply)
Discussion started by: scooter17
1 Replies

9. UNIX for Dummies Questions & Answers

Find and Replace code help needed

I have a file "dbshot.xml" that contains lines that need replacing in a batch format but the parameters are based on two lines. Ex. <role roletype="01"> <status>1 needs to be changed to <role roletype="01"> <status>0 I can't use simply "<status>1" replace since the... (2 Replies)
Discussion started by: E Orgill
2 Replies

10. UNIX for Advanced & Expert Users

help on find with chmod.. urgent help needed

Hello to all Unix gurus.. I am writing a generic script which takes the options of unix command as input and concatenate all the pieces and forms a complete executable command. I am getting an error with the following command as I am resetting my own permission on the root directory. When the... (4 Replies)
Discussion started by: sdlayeeq
4 Replies
Login or Register to Ask a Question