#!/bin/bash set -eu set -o pipefail all_present=True for file in "$@" do if ! [ -e "$file" ] then echo "$file does not exist" all_present=False continue fi done function sans_failed { filename="$1" case "$filename" in *.failed) # shellcheck disable=SC2001 result=$(echo "$1" | sed 's#\.failed$##') ;; *.rip-output) # shellcheck disable=SC2001 result=$(echo "$1" | sed 's#\.rip-output$##') ;; *.rip-output.xz) # shellcheck disable=SC2001 result=$(echo "$1" | sed 's#\.rip-output\.xz$##') ;; *) result="$filename" ;; esac echo "$result" } case "$all_present" in True) for file in "$@" do rm "$file" file2=$(sans_failed "$file") if [ -e "$file2".views ] then rm "$file2".views fi if [ -e "$file2".rip-output.xz ] then rm "$file2".rip-output.xz fi if [ -e "$file2".rip-output ] then rm "$file2".rip-output fi done ;; False) echo "$0: One or more files nonexistent" 1>&2 exit 1 ;; *) echo "$0: \$all_present has a strange value: $all_present" 1>&2 exit 1 ;; esac