set variable using 'ls' with an 'or' conditional statement


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting set variable using 'ls' with an 'or' conditional statement
# 1  
Old 01-18-2011
set variable using 'ls' with an 'or' conditional statement

Hi,

I would like to set a variable using ls, but I need to be able to list two possibilities simultaneously, i.e., I'd like to do this all on one line. These are the two possible directories, but keep in mind only *one* will be present at any given time:

drwxrwxrwx 4 qtv qtv 16384 Nov 9 15:26 t2_tirm_tra_dark_fluid_5mm
drwxrwxrwx 4 qtv qtv 16384 Nov 9 15:26 FLAIRmosaic

So the code needs to be able to list one or the other at any given time and not error out when it sees that the other does not exist. This is what I've tried so far:

Code:
dir=`ls -d ./*FLAIR* ./*dark*`

This command errors out when the top dir doesn't contain one of the two directories. Any suggestions would be greatly appreciated. Thanks!
# 2  
Old 01-18-2011
Hi

Try this:

Code:
dir=`ls -d ./*FLAIR* ./*dark* 2> /dev/null`

Guru.
# 3  
Old 01-18-2011
Thanks Guru. It prevented the output of any error messages, but the variable was empty unfortunately. I'll keep working on this, thanks anyway!
# 4  
Old 01-19-2011
Code:
find . -type d |egrep "FLAIR|dark"

# 5  
Old 01-19-2011
Hi,

bash can do this:
Code:
dir=$(shopt -s extglob nullglob; echo ./*?(FLAIR*|dark*))

check your shell's man page, to see if something similar exists.
# 6  
Old 01-19-2011
Try this,

Code:
dir=`find . -type d -name "*FLAIR*" -o -type d -name "*dark*"`

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. 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

3. Shell Programming and Scripting

Conditional Shell Statement

I want to add a conditional statement to a user's .profile file. I have a certain number of users that log in and use the rksh (Restricted Korn Shell). When they log in, it starts a certain program and when they exit this program, the system logs them out. When they are in this program, they can... (2 Replies)
Discussion started by: rjulich
2 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. UNIX for Dummies Questions & Answers

Conditional statement in bash

I want to combine 2 conditional statements by using -o in bash, but it won't work. if ; then echo "The number needs to be between 0 and $nr" fi Each time i execute the file it says: ./selectCitaat: line 10: syntax error near unexpected token `$1' (3 Replies)
Discussion started by: doc.arne
3 Replies

6. 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

7. 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

8. 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

9. 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

10. 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
Login or Register to Ask a Question