dotfiles/bin/dfilter

29 lines
392 B
Plaintext
Raw Normal View History

2023-04-14 22:50:40 -05:00
#! /bin/sh
filter="$1"
src="$2"
dest="$3"
root="$(pwd)"
rm -r "$dest"
2024-02-08 10:25:09 -06:00
rsync -a --exclude '.*' "$src" "$dest"
2023-04-14 22:50:40 -05:00
files="$(find "$dest" -type f)"
for file in $files; do
file "$file" | grep -q 'text' || continue
cd "$(dirname "$file")" || exit 1
file="$(basename "$file")"
exec 3< "$file"
rm "$file"
sh -c "$filter" <&3 > "$file"
exec 3>&-
cd "$root"
done