Всем доброго времени суток!
В прошлый раз когда спрашивал про bash мне показали интересный приём как спрарсить список файлов в переменную. А есть другие способы это сделать?
В качестве примера скрипт, который бекапит каждый подкаталог в отдельный архив.
#!/bin/bash
DIR="/path/to/"
mkfifo /tmp/files.tmp
trap "rm '/tmp/files.tmp'" EXIT
find "$DIR" -mindepth 1 -maxdepth 2 -type d ! -name "." | while read subdir; do
if [[ -d "$subdir" && "$(ls -A "$subdir")" ]]; then
name=`echo "$subdir" | sed 's|.*/||'`
files=()
find "$subdir" -maxdepth 1 -type f -not -name *.directory > /tmp/files.tmp &
while read file; do
files+=("$file")
done < /tmp/files.tmp
tar -cvf "$name" "${files[@]}"
fi
done