Найти файлы и упаковать их с помощью сценария оболочки

Я пытаюсь найти все файлы, размер которых превышает $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
Другие вопросы по тегам