dotfiles/script/dellines

26 lines
483 B
Bash
Executable File

#!/usr/bin/env bash
#
# dellines deletes lines in multiple files matching a regex
# Example: dellines '^//' src/ *.go
set -e
matchpattern="$1"
path="$2"
filepattern="$3"
if [ -z "$path" ]; then
echo "Usage: dellines <pattern> <path>"
exit 1
fi
if [ -z "$filepattern" ]; then
filepattern="*"
fi
if [ "$(uname -s)" = "Linux" ]; then
echo "TODO: fix for Linux"
fi
find "$path" -type f -name "$filepattern" -print0 | LC_CTYPE=C LANG=C xargs -0 sed -i '' "/$matchpattern/d"