If clause query


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting If clause query
# 1  
Old 04-29-2014
If clause query

Hi,

i need to add a condition in my IF clause where i need to check if the file exists in a folder and return true out of it. but in my directory i have multiple files with same name but datestamp append on it for e.g.
Code:
export f1 = filename
export f2=filename1

if [[ ! -f $direct/code/{$f1}*   && ! -f $direc/code/{$f2}*]]
then
echo "No files in $direct"

files in $direct/code folder;

Code:
filename_22_apr_01:30
filename_22_apr_01:30
filename_22_apr_01:31
filename_22_apr_01:32
filename1_22_apr_01:30
filename1_22_apr_01:30
filename1_22_apr_01:31
filename1_22_apr_01:32

but above condition is not getting satisfied with my code
# 2  
Old 04-29-2014
The operants in [ ] and [[ ]] must be one, so multiple matches do not work there.
Try this one; it uses a loop
Code:
f1=filename
f2=filename1

found=""
for f in $direct/code/$f1* $direct/code/$f2*
do
  if [ -f "$f" ]; then
    found=$f
    break # we can stop here
  fi
done
if [ -z "$found" ]; then
  echo "No files in $direct"
else
  echo "Found $found"
fi

# 3  
Old 04-29-2014
Hi is it possible to do in same if clause itself rather then looping
# 4  
Old 04-29-2014
Not with [ ] or [[ ]].
But with ls and egrep:
Code:
if ls $direct/code/ | egrep "^($f1|$f2)" >/dev/null
then
  : #found
else
  echo "No files in $direct"
fi

Because egrep uses ERE, there is a ^ to indicate line start and no trailing *

Last edited by MadeInGermany; 04-29-2014 at 04:13 PM.. Reason: missing $
# 5  
Old 04-29-2014
is it possible something like this in if clause would work

Code:
if [`ls -ltr $direct/code/$f1|wc -l -eq 0`  \
&& 
ls -ltr $direct/code/$f1|wc -l -eq 0`]
then
echo "no file in dir"

# 6  
Old 04-29-2014
Try also
Code:
ls ${direct}/code/$f1 ${direct}/code/$f2  && echo "found" || echo "not found"

# 7  
Old 04-29-2014
Is it possible in same if clause condition itself using f1 *something like that or since I need to consider f1*
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

../ in perl and if clause

Hi can anyone please explain what the below code does? i mean $fide_stopfile = ? when $FIDE_SCR = '/fs/dir1/dir2/common/scr' and also little confused with if clause too. what it check? $fide_stopfile = "$ENV{FIDE_SCR}/../tmp/STOP"; if ( -e $fide_stopfile > 0 ) { ... (3 Replies)
Discussion started by: ptappeta
3 Replies

2. Shell Programming and Scripting

If clause in perl

HI friends , I am very new to perl .please dont mind if i ask silly questions. I seee below code in one sript if ( exists $ENV{FMTWRP_TMP_DIR} and $ENV{FMTWRP_TMP_DIR} ) { $tdir = $ENV{FMTWRP_TMP_DIR}; } whats does this mean . I am very confused about the if clauses in... (1 Reply)
Discussion started by: ptappeta
1 Replies

3. Shell Programming and Scripting

Check a variable value through if clause

Hi guys, I am trying to check the values i have for two variables. if && ; then echo "Success"; fi Now Test1 can have any Alpha Variable and Count is a integer value. Even though we have given 'and' Condition, even one condition is sucess, i am getting the Success message. ... (11 Replies)
Discussion started by: mac4rfree
11 Replies

4. Shell Programming and Scripting

file renaming with if else clause

Hi. I am trying to rename some files with an if else clause. So far I am doing it this way: for file in *; do mv $file `echo $file|sed 's/$/.txt/'`; done This make all my files have a .txt at the end of their name. But since I had some .jpg files in my folder they end up being... (4 Replies)
Discussion started by: danieladna
4 Replies

5. Shell Programming and Scripting

help with if clause in bash script

hey guys, I am trying to get some statistics from a DHCP server, like counting the number of DHCP Discovers from a specific MAC address. The script should count the number of DHCP Discovers and output it, otherwise if it cannot find any , it should output the MAC address and "0". The first... (10 Replies)
Discussion started by: liviusbr
10 Replies

6. Shell Programming and Scripting

How to grep the where clause of a SQL?

Hi UNIX Gurus, I want to use extract the where clause of a SQL present in a file. Please suggest me how can I do it. Select * from emp where emp_id>10; cat <file_name> | grep -i "where" returns whole SQL. how can I extract only "where emp_id>10;" Thanks in advance (4 Replies)
Discussion started by: ustechie
4 Replies

7. Shell Programming and Scripting

multiple conditions in 'if clause'

Hi, When i use the below code snippet in my shell script OFC_10.sh: if then echo "Success" exit 2 elif then echo "Failure" exit 6 I get the error message: ./OFC_10.sh: line 41: ' ./OFC_10.sh: line 45: ' Line 41 is the line where If loop starts and line 45 is... (2 Replies)
Discussion started by: shrutihardas
2 Replies

8. Shell Programming and Scripting

having trouble with using if clause in AWK

The goal: I have a list of people in teams. The list looks something like this $1 = Job Position (marketing, IT, PR) $2 = Name $3 = Team Name $4 = Targeted member (somebody in field 2 targets somebody else) $5 = Employment Status (full time/part time/etc) The idea is to search through... (2 Replies)
Discussion started by: MaestroRage
2 Replies

9. Shell Programming and Scripting

Regular Expressions in If clause

Hi All, I have a set of files in my directory like BED123C.txt, SED134F.txt,DEF567DF.txt. I want to execute separate scripts based on the file names. I am using the following block of the code for this for EachFile in `ls` do if then sh Exe1.sh fi if then sh Exe2.sh fi done ... (3 Replies)
Discussion started by: Raamc
3 Replies

10. UNIX for Dummies Questions & Answers

if clause

hi, pls could you help me with one program in KSH ( i have sunOS). I need to create an If clause, that prints an error message and filenames, when in a directory are found some files of null size (find . -type f -size 0 ). thanks (3 Replies)
Discussion started by: palmer18
3 Replies
Login or Register to Ask a Question