Wildcard in a tcsh if statment


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Wildcard in a tcsh if statment
# 1  
Old 11-06-2011
Wildcard in a tcsh if statment

Hello everyone

I was hoping someone could tell me whether I can use a wildcard inside an tcsh if statement.

I am trying to test the argument the user has fed the script and whether it is a .txt file.

The Ides behind it is the following
Code:
 
if (`echo $1` != *.txt) then
   echo "wrong argument"
else
  echo "You are good"
endif

I know this can be relized using if [[condition]] but it seems like tcsh does not support that kind of a if statement.

your help is alway appreciated. Smilie
# 2  
Old 11-06-2011
If you want features not in csh, why not use a different shell?
# 3  
Old 11-06-2011
well the problem is I started scripting about 5 weeks ago and the script I have been working on thus far I have written in tcsh, its a pretty long one. So far I have not had a problem with tcsh.

Now I want to add a few thing to the script and one of them being checking the argument and wheter it in the right format.

It will be really hard to change the whole script to bash or ksh at this point. Smilie
# 4  
Old 11-06-2011
Code:
#!/usr/bin/tcsh

set val = `echo $1 | grep ".txt"`
if ( $val != "" )then
  echo "Found"
else
  echo "Not Found"
endif

--ahamed
This User Gave Thanks to ahamed101 For This Post:
# 5  
Old 11-06-2011
Thanks Ahamed,

Nice work around, it works.
So I guess the answer is you cant use wildcards with a tcsh if statment.Smilie
# 6  
Old 11-06-2011
I am not sure about that... I am not good at tcsh... Smilie

--ahamed
# 7  
Old 11-07-2011
Quote:
Originally Posted by smarones
So far I have not had a problem with tcsh.
you will. The csh is one of the worst shells in existence, with problems that are not bugs but unfixable design flaws. Bill Joy admits he was "not very good at programming" when he invented it.

Use something else, anything else, before your habits become too ingrained to change.

Last edited by Corona688; 11-07-2011 at 11:09 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Add new line after 'continue' in if statment

Hello, im creating a csv file for email reporting on issues. my problem is that after 'continue' command in if statment in a loop the new paramter writing into the log doesnt take new line. timeout 4s zabbix_get -I $ZBX -p $PORT -s $IP -k "system.run" if ; then ... (3 Replies)
Discussion started by: batchenr
3 Replies

2. Shell Programming and Scripting

Execute sql statment in korn shell

I am fairly new to writing scripts, and have gotten a lot of help from this site in the past with many of the posts. I have a question/issue with a script I am attempting to write and have a question regarding executing an sql statement inside of a loop (do while). I have in the past written... (1 Reply)
Discussion started by: josbor01
1 Replies

3. Shell Programming and Scripting

-F option and - V in a single awk statment

Please let me know if I can use -F option and - V in a single awk statment. I want to import some comma separated shell variables using -F option and defining some static variables inside awk using -v option. (2 Replies)
Discussion started by: kalee
2 Replies

4. UNIX for Dummies Questions & Answers

Comparing Special characters (i.e. -,\,/) in an if statment

I need to validate the special characters of a date (the characters between the year and month & month and day). The data filed is being populated by users and read into the script vi an argument. I want to ensure that the date is a '-' (dash) and not a '/' or '\' (slash). The every thing I... (3 Replies)
Discussion started by: angelap
3 Replies

5. UNIX for Dummies Questions & Answers

Clarification for egrep statment

Can someone tell me what exactaly the following command is doing - pid_cmd="/usr/ucb/ps -axww | /usr/bin/egrep '${SUNMC2OSS_PATH}/SunMC2OSS\.jar.* sunmc2oss\.SunMC2OSS\$' | /usr/bin/egrep -v egrep | /usr/bin/nawk '{print \$1}'" Is the egrep is to check "sunmc2oss.SunMC2OSS" process inside... (2 Replies)
Discussion started by: puneet1983
2 Replies

6. Shell Programming and Scripting

if statment, based on retune value

hello im working on a project for the iphone to write a termainal based program we have bsd subsystem installed so have access to most unix command i have a executable called coordinates, which get the coordinates of the iphone when this runs it returns to the terminal the text of... (1 Reply)
Discussion started by: toliver182
1 Replies

7. UNIX for Dummies Questions & Answers

Imitating DOS functionality: The Call Statment

In DOS you can call a section of code multiple times by using the Call Statment I.E. Call :Test1 :Test1 If My_Name = Yourname then My_name > Name.txt Can this be done in a Unix Script? (21 Replies)
Discussion started by: jadionne
21 Replies

8. Shell Programming and Scripting

what is wrong with my awk statment?

I am looking to find something in the hour(in field $2) of 03:00:07 and 04:00:07 and 05:00:07 and must contain something in field 4... why doesn't below command work? I try to use grep .. but since I am running this in loop, it's best I use the awk .. can someone please advise.. I am pretty... (1 Reply)
Discussion started by: hankooknara
1 Replies

9. UNIX for Advanced & Expert Users

hwo do I print ' in an awk statment?

hi 2 all, I'm trying 2 print " ' " in an awk statement but the sign deosn't show. The only way I came with is 2 declare the ' as a variable and call that variable. I'm trying 2 do: awk '{printf("insert into ba_memo_01 values ('%s');",$1)}' and get the output: insert into ba_memo_01 values... (7 Replies)
Discussion started by: baraka
7 Replies

10. UNIX for Dummies Questions & Answers

Find wildcard .shtml files in wildcard directories and removing them- How's it done?

I'm trying to figure out how to build a small shell script that will find old .shtml files in every /tgp/ directory on the server and delete them if they are older than 10 days... The structure of the paths are like this: /home/domains/www.domain2.com/tgp/ /home/domains/www.domain3.com/tgp/... (1 Reply)
Discussion started by: Neko
1 Replies
Login or Register to Ask a Question