26 lines
483 B
Bash
Executable File
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"
|