Conditional IF statement with a wildcard


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Conditional IF statement with a wildcard
# 1  
Old 08-23-2011
Conditional IF statement with a wildcard

I'm trying to create a shell script that will check for new files and or folders and if it exist then copy them to a different directory.

Does anyone have a idea?



Code:
if [ -f /home/upgrade/hex-code/*];
then
    echo "Copying files from the Upgrade Server"
    cp -Ruavp /home/upgrade/hex-code/* /home/bed_mfg1/hex-code/
else
    echo "No new files to copy"
fi

# 2  
Old 08-23-2011
Can you use a leading character of the file name? For example, the -f works (at least in ksh93 on Ubuntu) if you have files named file1, file2, etc. in your directory, and you look for /home/upgrade/hex-code/f*
# 3  
Old 08-23-2011
Quote:
Originally Posted by g.pi
Can you use a leading character of the file name? For example, the -f works (at least in ksh93 on Ubuntu) if you have files named file1, file2, etc. in your directory, and you look for /home/upgrade/hex-code/f*
I wish it was that simple. These are log file from diffrent sources.
# 4  
Old 08-23-2011
You can't cram more than one string into a -f, so you can't do this in one step...

Perhaps something like this:

Code:
set -- /path/to/*

if [ -e "$1" ]
then
        echo "Files in /path/to/"
else
        echo "No files in /path/to"
fi

This replaces your $1 $2 ... parameters with files, though.

Last edited by Corona688; 08-23-2011 at 06:26 PM..
# 5  
Old 08-23-2011
Here is another way to do this, but Carona688's solution is more efficient.
Code:
num_files=$(ls ~/tmp/ | grep -v "total" | wc -l); if [ $num_files -gt 0 ]; then echo "found files"; else echo "no files"; fi

# 6  
Old 08-23-2011
rather than reinvent the wheel use a utility like rsync
# 7  
Old 08-23-2011
Quote:
Originally Posted by frank_rizzo
rather than reinvent the wheel use a utility like rsync

Thanks, im surprised i didnt think of that
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

conditional statement in awk

Hi all, I have a file containing the values that would be use as the basis for printing the lines of another set of files using awk. What I want to do is something like the one below: stdev.txt 0.21 0.42 0.32 0.25 0.15 file1.txt file2.txt file3.txt ..filen.txt 0.45 0.23 ... (4 Replies)
Discussion started by: ida1215
4 Replies

2. Shell Programming and Scripting

Using wildcard in if statement

I'm trying to make a small script to see if you say a specific word, in bash. Here is my code so far : if ]; then echo "You typed Something Device Something" fi exit 0 It does not echo what it should, even if i type something along the lines of "random Device stuff" Please help,... (2 Replies)
Discussion started by: DuskFall
2 Replies

3. UNIX for Advanced & Expert Users

conditional statement

I need to implement something like this. 1) search for a file(say *.doc) from a path (say /home/user/temp) 2) if file found & if file size > 0 : yes --> file valid else : print file not valid. I am trying to implement something like this, but seems i am terribly wrong somewhere.. ... (1 Reply)
Discussion started by: animesharma
1 Replies

4. Shell Programming and Scripting

if statement with grep as conditional

Please see the script segment below for i in $files do echo $i if ; then case "$1" in "IE0263"|"IE0264"|"IE0267"|"IE0268") short_filename=`ls -l $i | cut -c108-136 | sort` ;; "IE0272"|"IE0273") short_filename=`ls -l $i | cut... (4 Replies)
Discussion started by: jmahal
4 Replies

5. Shell Programming and Scripting

if conditional statement

Hi, I have a script like this: sample.sh mapping=$1 if then echo "program passed" fi I'm running the above script as ./sample.sh pass The script is not getting executed and says "integer expression expected" Could anyone kindly help me? (2 Replies)
Discussion started by: badrimohanty
2 Replies

6. UNIX for Dummies Questions & Answers

Problem with conditional statement

Hi, I'm getting a "bad number" error from the following conditional if statement. I understand the results of the grep command are not being treated a an integer but am unsure of the correct syntax. Any help would be appreciated. if Thanks (2 Replies)
Discussion started by: dlafa
2 Replies

7. Shell Programming and Scripting

conditional statement

Hi all, The following code is to find if a list of numbers from one file are within the range in another file. awk -F, '\ BEGIN { while ((getline < "file2") > 0) file2=$3 } {for (col1 in file2) if ($0>=30 && $1<=45) print $0} ' FILE1 But where I have the number 30 and 45, I... (3 Replies)
Discussion started by: dr_sabz
3 Replies

8. Shell Programming and Scripting

conditional statement

Hi Does Unix have a conditional statement like Java as follows: Condition ? Statement1 : Statement2 Thanks (8 Replies)
Discussion started by: lalelle
8 Replies

9. Shell Programming and Scripting

quoting in conditional statement

can somebody help, what quote i should use in below statement or what wrong of it ? the 1st (*) is a char, the 2nd and 3rd (*) is a wildcard if ] && ] && ] ................^ .............^ then echo "ok" fi thanks in advance. (2 Replies)
Discussion started by: 3Gmobile
2 Replies

10. Shell Programming and Scripting

awk conditional statement

how can i use awk or sed to do a conditional statement, so that HH:MM if MM not great than 30 , then MM=00 else MM=30 ie: 10:34 will display 10:30 10:29 will display 10:00 a=$(echo 10:34 | awk ......) Thanks in advance (10 Replies)
Discussion started by: 3Gmobile
10 Replies
Login or Register to Ask a Question