| #!/usr/bin/env bash | |
| IFS=$'\n' | |
| [ -n "$1" -a -n "$2" ] || { | |
| echo "Usage: $0 <file> <directory>" | |
| exit 1 | |
| } | |
| [ -f "$1" -a -d "$2" ] || { | |
| echo "File/directory not found" | |
| exit 1 | |
| } | |
| cat "$1" | ( | |
| cd "$2" | |
| while read entry; do | |
| [ -n "$entry" ] || break | |
| [ ! -d "$entry" ] || [ -L "$entry" ] && rm -f "$entry" | |
| done | |
| ) | |
| sort -r "$1" | ( | |
| cd "$2" | |
| while read entry; do | |
| [ -n "$entry" ] || break | |
| [ -d "$entry" ] && rmdir "$entry" > /dev/null 2>&1 | |
| done | |
| ) | |
| true |