How do I pass a wild card as an argument


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers How do I pass a wild card as an argument
# 1  
Old 03-28-2007
How do I pass a wild card as a variable

Hi,

I would like to pass a wild card as part of an argument. But when I do it the script views the wild card as text.
Example:
sFile=MG1A*
sort $sFile > $sFile.sorted

What I get is MG1A*.sorted

The problem is I am passed a series of files where the first few characters like "MG1A" are constant. The additional part of the file name is a date time stamp. I will never know the exact date time stamp. I need to do a search for MG1A* which will find me one file. How can I write my script so the variable $sFile will know that the "*" in MG1A* is a wild card not text?

I know I can write code to run "ls" on a directory and get all file names then write a loop or do statement to do my sort based upon that list regardless of the file name. But I have more files in the dir than I want to grab. I also know I can run the "ls" command output the file names in the dir to a file and grep for the part fo the file names I am looking for. I also think this can be done if I pput the whole comamnd iBut current design restricts me form going that path. It would require a whole re-write and I am trying to avoid that.

Thank you.

Last edited by eja; 03-28-2007 at 11:37 AM..
# 2  
Old 03-28-2007
Quote:
Originally Posted by eja
Hi,

I would like to pass a wild card as part of an argument. But when I do it the script views the wild card as text.
Example:
sFile=MG1A*
sort $sFile > $sFile.sorted

What I get is MG1A*.sorted

The problem is I am passed a series of files where the first few characters like "MG1A" are constant. The additional part of the file name is a date time stamp. I will never know the exact date time stamp. I need to do a search for MG1A* which will find me one file. How can I write my script so the variable $sFile will know that the "*" in MG1A* is a wild card not text?

I know I can write code to run "ls" on a directory and get all file names then write a loop or do statement to do my sort based upon that list regardless of the file name. But I have more files in the dir than I want to grab. I also know I can run the "ls" command output the file names in the dir to a file and grep for the part fo the file names I am looking for. I also think this can be done if I pput the whole comamnd iBut current design restricts me form going that path. It would require a whole re-write and I am trying to avoid that.

Thank you.
try changing (ksh)
sFile='MG1A*'
sort $sFile > $sFile.sorted

Be sure and use single quotes - it will not expand out the wildcard at the assignment line.
# 3  
Old 03-28-2007
works great. thanks. I tried everthing bu. feel dumb now. I tried "" and `` did not think of single qoutes
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Wild card for dir path

I have dir structure like this : /opt/oracle/product/abc/sqlplus/admin/ /opt/oracle/product/def/sqlplus/admin /opt/oracle/product/ghi/sqlplus/admin I am trying to use wildcard ( for dirs abc,def,ghi) ..something like this : cp xyz.txt ... (1 Reply)
Discussion started by: talashil
1 Replies

2. Shell Programming and Scripting

find with wild card [solved]

Can somebody help me with the following syntax? I want to find all files that end with *.arc SUFFIX=".arc" find /tmp -name "\*$SUFFIX" -print 2>/dev/null ---------- Post updated at 03:45 PM ---------- Previous update was at 03:41 PM ---------- got it thanks -name... (0 Replies)
Discussion started by: BeefStu
0 Replies

3. Shell Programming and Scripting

Grep using wild card issue

Hi, I am having a file (file1) having following contents " xet B - All Divers/All Rivers - - ns - " Now when i use cat file1 | grep 'RF' it doesn't returns anything. But on using cat file1 | grep 'RF*' shows me... (6 Replies)
Discussion started by: sarbjit
6 Replies

4. Shell Programming and Scripting

wild card in if condition not working

Hi, I am using RHEL5. I have following if condition. if In the above condition, if the value of a contains word WARNING, it should match. i.e., WARNING_MESSAGE, CRITICAL WARNING, WARNING ALERT etc. it should match. For b, alert error, ALERT ERROR, ERROR IMMEDIATE ACTION REQUIRED, etc... (2 Replies)
Discussion started by: user7509
2 Replies

5. AIX

df, grep, wild card

Hi, I want to monitor my filesystem capacity and I want to df with grep wildcard for all 9*%. Is this possible? I want to replaced all the existing complicated scripts I have in the system. Thanks, Itik (2 Replies)
Discussion started by: itik
2 Replies

6. UNIX for Dummies Questions & Answers

wild card & regular expressions

Hi, guys I have a question what is wild card and regular expression, I think both of them same if not, please give me an example. thanks (1 Reply)
Discussion started by: eerener
1 Replies

7. Shell Programming and Scripting

how to print asterisk without its wild card functionality

I have three cron entries in a file /cron_entries as 15 * * * * /bin/hourjobs > /tmp/hrjob.log 2>&1 .................. .................... I am trying to read this file in for loop using code below: cron=`cat /cron_entries` for line in $cron do printf... (4 Replies)
Discussion started by: sudh
4 Replies

8. Shell Programming and Scripting

Wild card in find perm

Hi, Is there a way to use find command to list the directories for certain permissions. I know we can use find . -type d -perm nnn, where nnn is the permission number . However I wold like to know if I wanna search for wild card permissions i.e 75* / 7* / 55* , as i do not know the actual... (1 Reply)
Discussion started by: braindrain
1 Replies

9. UNIX for Dummies Questions & Answers

ls and wild card - Should be simple!

I am trying to cp files that have F0 as prefix in their name in path p1/p2 to path p3/p4 this command does not work - Why? (I am using HP/UX) cp p1/p2/F0* p3/p4 thanks. (2 Replies)
Discussion started by: GNMIKE
2 Replies

10. UNIX for Dummies Questions & Answers

using if with wild card patterns

Hi, Please help me. Suppose I have a file which contains files like: My file :/tmp/rooh_20020518.lst it consists: ASI00320225041925URD01 ASI00320225041925KER02 ASI00390228095244KER08 ... (1 Reply)
Discussion started by: rooh
1 Replies
Login or Register to Ask a Question