36 lines
715 B
Bash
Executable File
36 lines
715 B
Bash
Executable File
#!/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
|