Sponsored Content
Full Discussion: Wildcard variables
Top Forums Shell Programming and Scripting Wildcard variables Post 302429215 by thedoobieman5 on Sunday 13th of June 2010 01:28:19 PM
Old 06-13-2010
Wildcard variables

Hello everyone,
I'm new to UNIX and thought I'd give writing my own script a try, but the * is giving me some trouble. What I'm trying to do is write a script that does the same thing as rm, but instead of actually deleting the file, it merely moves it to the trash. This is what I have so far:

Code:
#!/bin/sh

garbage="$1"

for file in "$garbage"
do
     mv "$file"/ ~/.Trash/
done

The script works as long as the user inputs a single file name as a variable, but I wanted to make it work for * also (ie 'command *' would move everything to the trash). It seems that if I use * as a variable the script just takes the first file that meets the criteria and uses that file as $1. Surely there's a way to get $garbage to literally mean * and not the name of the first file found?

Last edited by thedoobieman5; 06-14-2010 at 02:31 PM.. Reason: Code tags
 

10 More Discussions You Might Find Interesting

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

2. UNIX for Dummies Questions & Answers

wildcard

what will the cmd below do? ls *.3 1 members mentions that to seek all permutations and combinations of the mp3 extension ill have to use curly braces, {} and not, . what then will do? (13 Replies)
Discussion started by: abhi
13 Replies

3. Shell Programming and Scripting

wildcard

Hi, I have this code to search all "cif" files using wildcard for file in *.cif do grep "Uiso" $file | awk '{ print $3, $4, $5 }' > tet done I get this error "grep: *.cif: No such file or directory" Please where am I going wrong!!! Thank you in advance (6 Replies)
Discussion started by: princessotes
6 Replies

4. Shell Programming and Scripting

if/else comparison with wildcard

This might be a simple answer but I can't for my life figure it out. If I input "bat", how do I get the condition to pick it up with the wild card *at*. #!/bin/bash read -p "enter" BOO if ; then echo "you win" else echo "you lose" fi (3 Replies)
Discussion started by: zerofire123
3 Replies

5. UNIX for Advanced & Expert Users

wildcard help

Can someone please explain the wildcards in this. How is this recursive? When I put this in my terminal it recursively displayed everything. ls .* * (6 Replies)
Discussion started by: cokedude
6 Replies

6. Shell Programming and Scripting

How to use wildcard * in if?

Hi, Can anyone help me how to use * in if statement. File contains below line1:a|b|c|Apple-RED| line2:c|d|e|Apple-Green| line3:f|g|h|Orange| I need to find line by line 4th field contains 'Apple' or not. Please help me at the earliest. (6 Replies)
Discussion started by: jam_prasanna
6 Replies

7. Shell Programming and Scripting

wildcard help!!

i have got heaps of files (.pdf, .txt and .doc) files in one folder, i am making a program in PERL that helps me find the files i want easier using shell wildcard, something like this!! print "Enter a pattern: (must be in )"; $input = <STDIN>; if (The input is in and valid wildcard... (3 Replies)
Discussion started by: bshell_1214
3 Replies

8. Shell Programming and Scripting

Wildcard in ls

Hi Experts, I want to use ls in the below form: ls -l *.{txt,TXT} (working fine) but when i am declaring a variable, VAR="*.{txt,TXT}" ls -l $VAR is not working. Please help. Thanks. (4 Replies)
Discussion started by: sugarcane
4 Replies

9. Shell Programming and Scripting

sed using wildcard

Hi Folks, I had a requirement to replace a pattern a.*a with 'a' alone. I'm writing a sed command to do that. But I'm not able to work this out. Pls help me. echo 'a123a456a789' | sed 's/a.*a/a/' Expected o/p : a456a789 But actual o/p is a789. :confused: how can write that... (6 Replies)
Discussion started by: poova
6 Replies

10. OS X (Apple)

Help with wildcard

CD_numb is AM017 this code: set the_Firstcom_CD to (do shell script "ls -d '/volumes/audioNAS/Firstcom/Access Music/' ") & CD_numb gives me this: "/volumes/audioNAS/Firstcom/Access Music/AM017" the item I am looking for is AM017Q. I can get the "*" syntax right so it never finder... (7 Replies)
Discussion started by: sbrady
7 Replies
MAKESH(1)						      General Commands Manual							 MAKESH(1)

NAME
makeSH - a .SH script maker SYNOPSIS
makeSH files DESCRIPTION
MakeSH examines one or more scripts and produces a .SH file that, when run under sh, will produce the original script. The .SH script so produced has two sections containing code destined for the output. The first section has variable substitutions performed on it (taking values from config.sh), while the second section does not. MakeSH does not know which variables you want to have substituted, so it puts the whole script into the second section. It's up to you to insert any variable substitutions in the first section for any values you want from config.sh. You should run makeSH from within your top-level directory and use the relative path to the file as an argument, so that the "Extracting ..." line printed while running the produced .SH file later on will give that same path. AUTHOR
Larry Wall <lwall@netlabs.com> SEE ALSO
pat(1), metaconfig(1), makedist(1). BUGS
It could assume that variables from metaconfig's Glossary need to be initialized in the first section, but I'm too lazy to make it do that. LOCAL MAKESH(1)
All times are GMT -4. The time now is 04:55 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy