#!/usr/bin/env bash # Usage: ./replace.sh FOO BAR SEARCH_PATTERN="$1" REPLACE_PATTERN="$2" if [ -z "$SEARCH_PATTERN" ]; then echo "missing SEARCH_PATTERN argument" exit 1 fi if [ -z "$REPLACE_PATTERN" ]; then echo "missing REPLACE_PATTERN argument" exit 1 fi grep -l -R "$SEARCH_PATTERN" "$HOME/.abra/apps" \ | xargs sed "s/$SEARCH_PATTERN/$REPLACE_PATTERN/g" \ > /dev/null 2>&1 for d in $(ls "$HOME/.abra/apps/"); do cd "$HOME/.abra/apps/$d" if ! git diff --quiet --exit-code; then git diff git status -sb read -rp "Pick changes to commit for $d? (y/[n])? " choice case "$choice" in y|Y ) ;; n|N ) continue;; * ) continue;; esac git add -p fi done