#!/bin/sh set -eu rename() { local dirname="$1" local pattern="$2" local suffix="$3" find "$dirname"/cur "$dirname"/new -type f \ -name "*:2,*" \ ! -name "$pattern" \ -exec mv '{}' '{}S' ';' } mark_seen() { local dirname="$1" rename "$dirname" "*:2,*S*" "S" } for dirname in "$@" do mark_seen "$dirname" done