Skip to content

Instantly share code, notes, and snippets.

@allolex
Created May 15, 2014 15:30
Show Gist options
  • Select an option

  • Save allolex/52d3763746bf28c6c9e2 to your computer and use it in GitHub Desktop.

Select an option

Save allolex/52d3763746bf28c6c9e2 to your computer and use it in GitHub Desktop.
A simple script for renaming files using a sed regular expression pattern
#!/usr/bin/env bash
#
# Usage:
# pattern_rename "SED_PATTERN" "FILE_GLOB"
#
# Example:
# pattern_rename.bash 's/^Youtube - //' "*"
#
# Don't forget to put your file glob in quotes.
PATTERN=$1
FILE_GLOB=$2
# Using -n to avoid clobbering your existing files
RENAME_COMMAND="mv -n"
for SOURCE_FILE in ${FILE_GLOB}; do
if [ -e "${SOURCE_FILE}" ]; then
TARGET_FILE=$(echo ${SOURCE_FILE} | sed "${PATTERN}")
${RENAME_COMMAND} "${SOURCE_FILE}" "${TARGET_FILE}"
fi
done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment