I know how I can rename files and such, but I'm having trouble with this.
I only need to rename test-this
in a for loop.
test-this.ext test-this.volume001+02.ext test-this.volume002+04.ext test-this.volume003+08.ext test-this.volume004+16.ext test-this.volume005+32.ext test-this.volume006+64.ext test-this.volume007+78.ext
Click the Select all button.Quick tip: Alternatively, you can also use the Ctrl + A keyboard shortcut to select all files. You can press and hold the Ctrl key and then click each file to rename. Or you can choose the first file, press and hold the Shift key, and then click the last file to select a group.
If you have all of these files in one folder and you're on Linux you can use:
rename 's/test-this/REPLACESTRING/g' *
The result will be:
REPLACESTRING.ext REPLACESTRING.volume001+02.ext REPLACESTRING.volume002+04.ext ...
rename
can take a command as the first argument. The command here consists of four parts:
s
: flag to substitute a string with another string,test-this
: the string you want to replace,REPLACESTRING
: the string you want to replace the search string with, andg
: a flag indicating that all matches of the search string shall be replaced, i.e. if the filename is test-this-abc-test-this.ext
the result will be REPLACESTRING-abc-REPLACESTRING.ext
.Refer to man sed
for a detailed description of the flags.
Use rename
as shown below:
rename test-this foo test-this*
This will replace test-this
with foo
in the file names.
If you don't have rename
use a for
loop as shown below:
for i in test-this* do mv "$i" "${i/test-this/foo}" done
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With