blob: a059d16f9a1b6e248988c0b3229bf33c0aefc769 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#!/usr/bin/env bash
set -e
replace_profile="$1"
profile="$2"
if ! (( "${#@}" )); then
echo "Usage: ${0##*/} [replace_profile_dir] [profile_dir]"
echo "This script will map replace.txt under replace_profile_dir and modify files in profile_dir."
fi
if ! [[ -d "${replace_profile}" ]]; then
echo "Please specify a valid replacements directory."
exit 1
fi
if ! [[ -d "${profile}" ]]; then
echo "Please specify a valid profile directory."
exit 1
fi
mapfile -t replacements < <(grep -vE '^\s*($|#)' "$replace_profile/replace.txt")
for r in "${replacements[@]}"; do
IFS=":" read -ra files <<< "$r"
orig="${files[0]}"
dest="${files[1]}"
#echo "Delete $orig"
rm -v "$profile/$orig"
if [[ "$r" =~ :$ ]]; then
continue
fi
if ! (( "${#dest}" )); then
dest="$orig"
fi
#echo " -> Copying $replace_profile/$dest to $profile/$dest"
cp -v "$replace_profile/$dest" "$profile/$dest"
done
echo "Deleting all empty dirs under $profile"
find "$profile" -type d -empty -exec rmdir {} \;
|