Scottn's solution is, in my personal opinion, not as ideal as my own proposal.
The reason is that Scottn's solution requires to invoke `ls -l`, where mine uses pure shell globs. I see no reasons to venture outside the capability of the shell. There is no reason to test for the existence of the files when a pattern-match (glob) will reveal their existence. No reason to see if the ls command returns true... it's a waste of time
What is wrong with this?
I am able to check for any files using wild cards as you asked for using the -f (exists and is a file) and -e (exists).
Why do you think this does not work?
Also to add to the example masta gives:
I am using 100% pure shell globs and built-ins and no external calls this way.
masta, you make good point however you do use an external invoke of "ls -l" and "strings" and you do it multiple times (1 for each file) whereas scottn only makes the call once.
The difference here is presumably meant to imply "only in your initial check for existence of the files" and that what you do "with" these files once found is another matter. We can't use built-ins for everything after all
I just meant to add that it may seem confusing to new script writers if the distinction is not made.
I do however tend to agree with what masta means to show you, scottn has a valid working solution however we should (in my opinion) try to use the built-in functions of the shell we are in if external applications (ls in scottn's case) is not needed.
Now again this is a personal preference and scottn's method does have an advantage in one case. If the built-ins we rely on are shell specific (example: parameter expansion, let, set, unset, export, pushd, popd) then we cannot port this script in it's raw form to another shell (ie from bash to ksh/csh/sh). In this case using the external "ls" and "echo" commands means that we can use this script in any shell that can find the ls command in it's path!
Last edited by ddreggors; 04-26-2010 at 03:18 AM..
Your assumption about FILE being empty if there are no matching files is incorrect. Shell globs that do not match anything do not simply disappear, or expand to nothing; they remain unexpanded, and the for loop's list will be that single value.
Test run:
That code, and masta's solution, will both execute the loop at least once. If that is undesirable, the existence of the value in F must be tested; it cannot be taken for granted.
Hi experts,
I have two arrays one has the file paths to be searched in , and the other has the files to be serached.For eg
searchfile.dat will have
abc303
xyz123
i have to search for files that could be abc303*.dat or for that matter any extension . abc303*.dat.gz
The following code... (2 Replies)
Hi
#Testing for file existence
if ; then
echo 'SCHOOL data is available for processing'
else
echo 'SCHOOL DATA IS NOT AVAILABLE FOR PROCESSING'
:
i wrote a script, where it begins by checking if file exists or not.
If it exists, it truncates the database... (2 Replies)
I'm looking to do pretty much what the title says.
I want a script that runs, it can run on Unix or Windows, doesn't matter, and searches a Samba shares for a .txt file.
If the file exists, the script will move (or possibly copy) the file from the Samba share into a directory on our Unix... (3 Replies)
without using conventional file searching commands like find etc, is it possible to locate a file if i just know that the file that i'm searching for contains a particular text like "Hello world" or something? (5 Replies)
Hi,
I am looking for a shell script with the following.
1. It should check whether a particular file exists in a location
#!/bin/sh
if ;
then
echo "xxx.txt File Exists"
else
echo "File Not Found"
fi
2. If file exists, it should check for the modified date and run a command... (2 Replies)
Hey all,
I'm brand new to script writing, I'm wanting to make a script that will ask for a file and then retrieve that file if it exists, and if it doesn't exist, create the file with the desired name, and I'm completely stuck.. so far..
#! bin/bash
echo "Enter desired file"
read "$file"
if ... (5 Replies)
Hi,
I have two files say xxx.txt and yyy.txt. xxx.txt is with list of patterns within double quotes. Eg.
"this is the line1"
"this is the line2"
The yyy.txt with lot of lines. eg:
"This is a test message which contains rubbish information just to fill the page which is of no use. this is... (3 Replies)
Hi,
I have scenerio where i need to check 3 files whether they are of current day files and then count should not be equal to zero.
how to achieve the same please let me know.
Vishal (17 Replies)
So I have a lot of Java applications on my servers all having their own folder from the applications subdirectory. Now, I need to do the following.
Search all the applications subdirectories for message.jar.
If the message.jar file exists, I need to search the application directory for... (1 Reply)
We have data files that are ftp'd every morning to a SUN server. The file names are exactly the same except for that each has the date included in its name. I have to write script to do 2 things:
STEP 1) Verify that the file arrived in morning.
STEP 2) Compare the file size of the current... (3 Replies)