Skip to content

Commit cf72967

Browse files
authored
Added new feature to base.plugin.bash
New function labeled `rex()` servers a single purpose. Replace the file extensions of multiple file at once. File extensions usually does not quite matter in bash, but there is a few cases when one might needs to and this function simplifies the process from multiple commands into one.
1 parent c38f4aa commit cf72967

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

plugins/available/base.plugin.bash

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,3 +183,16 @@ if ! _command_exists del; then
183183
mkdir -p /tmp/.trash && mv "$@" /tmp/.trash
184184
}
185185
fi
186+
187+
# replace multiple file extensions at once
188+
function rex() {
189+
about 'mass replace of the extension of multiple files'
190+
param '1: extension to replace'
191+
param '2: new extenstion'
192+
example 'rex txt md'
193+
group 'base'
194+
local ext2replace="${1:-}"
195+
local newext="${2:-}"
196+
local files=(`ls *.$ext2replace`)
197+
for file in "${files[@]}"; do mv "$file" "${file/%.$ext2replace/.$newext}"; done
198+
}

0 commit comments

Comments
 (0)