Renaming with wildcards


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Renaming with wildcards
# 1  
Old 07-09-2013
Renaming with wildcards

Hi, I'm new to Unix, but have a directory which has many files in it, well over 1000. The files are called :

Code:
M07GO.STOPE0001
M07GO.STOPE0002
M07GO.STOPE0003
M07GO.STOPE0004

etc...

I would like to rename them to the following :
Code:
M070001.bin
M070002.bin
M070003.bin
M070004.bin

etc....

so missing out the "GO.STOPE" part of the original name and adding ".bin" onto the end. Is there a single command I can type that will rename all the files, possibly by using the wildcard function?
Many thanks, Robert

Last edited by Scott; 07-09-2013 at 07:19 PM.. Reason: Please use code tags
# 2  
Old 07-09-2013
Try:
Code:
for i in *; do mv $i `echo $i | sed 's/GO.STOPE//;s/$/.bin/'; done

This User Gave Thanks to bartus11 For This Post:
# 3  
Old 07-10-2013
In recent shells (bash, ksh) use parameter pattern deletion:
Code:
for X in M*; do mv $X ${X%GO*}${X#*PE}.bin; done

EDIT: corrected as proposed below by scrutinizer

Last edited by RudiC; 07-10-2013 at 05:53 PM..
# 4  
Old 07-10-2013
The latter method is more efficient, and it should work in any POSIX compliant shell.

---
@RudiC: small typo, it should be mv "$X"
This User Gave Thanks to Scrutinizer For This Post:
# 5  
Old 07-10-2013
Since it is going to do a lot of mv, consider breaking it up:
Code:
$ ls *GO.STOPE* | sed 's/^\(.*\)GO\.STOPE\(.*\)$/mv & \1\2/' | sh

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Grep wildcards

Hi all I want to search for number in file presented with wildcard as shown below. cat file.txt 1405 1623 1415 ....... ....... How to search for the number 141526 for example? If the number exist print "Number 141526 exist" if no, print "The number not exist" Thank you in advance. (3 Replies)
Discussion started by: vasil
3 Replies

2. UNIX for Dummies Questions & Answers

For loop with wildcards

Hi, I've got a ksh for loop with wildcards specified, and I want the wildcards to be preserved when inside the loop. Instead, it is expanding the wilcards and identifying filenames in the current directory #!/usr/bin/ksh list="a* b*" for i in ${list} do echo 'Loop value =' ${i} done... (2 Replies)
Discussion started by: nim
2 Replies

3. UNIX for Dummies Questions & Answers

Help with rm command with wildcards

Hello everyone. My first time posting here. I have a question that may seem very insignificant to some but is one that I've been trying to address for the past several days (haven't had any luck looking online). I'm trying to clean a directory by removing old files that we no longer need.... (2 Replies)
Discussion started by: galileo1
2 Replies

4. UNIX for Advanced & Expert Users

Wildcards

These 2 websites do a GREAT job of explaining different types of wildcards. I learned about the categories of characters which I never knew about at all. GNU/Linux Command-Line Tools Guide - Wildcards GREP (1 Reply)
Discussion started by: cokedude
1 Replies

5. Shell Programming and Scripting

Use wildcards in a script

Hello I have this script: #!/bin/ksh INPUTFILE=$1 TEMPFILE=$INPUTFILE.$$ OUTPUTFILE=$INPUTFILE.new # nr of arguments has to be 1 if then echo "\nUsage: $0 inputfile\n" return 1 fi # inputfile must exist and be readable if then (13 Replies)
Discussion started by: emferrari
13 Replies

6. UNIX for Dummies Questions & Answers

wildcards NOT

Hi All Please excuse another straightforward question. When creating a tar archive from a directory I am attempting to use wildcards to eliminate certain filetypes (otherwise the archive gets too large). So I am looking for something along these lines. tar -cf archive.tar * <minus all *.rst... (5 Replies)
Discussion started by: C3000
5 Replies

7. Shell Programming and Scripting

wildcards with if statement?

Hello i am trying to use the wildcards with the if statement but it is displaying the error like this one if * | ** | * ] Any body can help me to for using the wild card option in the if case but i have used this code and working well with the case statement to enter the name without the... (14 Replies)
Discussion started by: murtaza
14 Replies

8. UNIX for Dummies Questions & Answers

ls with wildcards

ok, I'm trying to write a script file that lists files with specific elements in the name into a txt file, it looks like this ls s*.dat > file_names.txt can't figure out whats wrong with that line, any ideas? thanks in advance (10 Replies)
Discussion started by: benu302000
10 Replies

9. UNIX for Dummies Questions & Answers

wildcards

when writing a shell script (bourne) and using a unix command like 'ls' is there anything special you need to do to use a wildcard (like *)? (3 Replies)
Discussion started by: benu302000
3 Replies

10. UNIX for Dummies Questions & Answers

Wildcards in VI

I'm trying to delete lines from a large text file using VI. Every line that I am wanting to delete start with 'S' - all others do not. (A list of users) I've tried using * but doesn't seem to like it...any ideas... Doesn't have to be VI - but I'm better with VI than sed/awk. (8 Replies)
Discussion started by: peter.herlihy
8 Replies
Login or Register to Ask a Question