###--------------------------------------------------------------------------
### Read the names of all the files I support.
###
-###
### Yes, this is ugly and hacky: well spotted. Shells have a nasty habit of
### spontaneously forking when redirection gets too hard for them to think
### about, so instead of something nice along the lines of
### the pattern match in the `case' below work properly.
files=$(
- files=""
+ files=:
find "$pkgdatadir" -type f -print | {
while read name; do
- files="$files:$(echo "$name" | sed 's;^.*/;;')"
+ files="$files${name##*/}:"
done
- echo $files
+ echo "$files"
}
-):
+)
###--------------------------------------------------------------------------
### Now examine the current directory.
### say `findlinks >.links' without any problems.
find . \( -type f -o -type l \) -print | while read name; do
- base="$(echo "$name" | sed 's;^.*/;;')"
+ base=${name##*/}
case "$files" in
- *:$base:*)
- echo $name
+ *:"$base":*)
+ echo "${name#./}"
;;
*)
esac
-done | sed 's,^\./,,' | sort
+done | sort
###----- That's all, folks --------------------------------------------------