Найти файлы и упаковать их с помощью сценария оболочки
Я пытаюсь найти все файлы, размер которых превышает $1 (параметр), и заархивировать их с помощью сценария оболочки.
#!/bin/bash
find . -type f -size +$1c = $files
tar -xf $files
Но я думаю, что это не правильное решение.
1 ответ
Решение
Предполагая ваш find
Команда работает так, как вы хотите, вам просто нужно немного изменить синтаксис bash. Также ваша команда tar извлекает -x
,
files=$(find ./ -type f -size +$1c)
#fix names in case there are spaces. Insert \ to escape spaces
goodNames="${files// /\\ }"
tar -czf bigfiles.tar.gz $goodNames