#!/bin/sh if [ $# -lt 2 ]; then echo "Usage: renpart oldpart newpart [file ...]" echo " to rename files matching *oldpart* -> *newpart*" echo " Try all files in current directory if none specified" exit 1 fi > /dev/stderr op="$1" np="$2" shift 2 function rename_one { fn="$1" nfn="${fn/$op/$np}" echo "$fn -> $nfn" mv -i -- "$fn" "$nfn" } if [ $# = 0 ]; then for fn in *${op}*; do rename_one "$fn" done else for fn in "$@"; do rename_one "$fn" done fi