Я не думаю, что это возможно, но вы можете просто автоматически исключить большие файлы из своего tar. Например,
find mydir ! -type f -o \( -type f -size -1000k \) | tar cv --no-recursion -T - -f /tmp/tar
, который не сохраняет файлы размером более 1000 КБ.
Вот сценарий, который интерактивно запрашивает ответ «n», чтобы остановить архивирование больших файлов :
find mydir \( -type f -size +1000k -exec /tmp/biggie {} \; \) -o -print |
tar c --no-recursion -T - -f /tmp/tar
где / tmp / biggie
- это сценарий
#!/bin/bash
if ! read -t 10 -n 1 -p "$1 ok ?" reply || [ n != "$reply" ]
then echo >&2
echo "$1"
else echo " ignoring $1" >&2
fi
, который выполняет специфичное для bash чтение с таймаутом 10 секунд из 1 символа (-n), с именем файла в качестве приглашения (-p). Если вы наберете "n" в течение 10 секунд файл игнорируется.