Скрипт для поиска файлов в каталоге, превосходящих заданный размер
Мне нужно написать скрипт, получающий имя каталога и размер N в мегабайтах и ищущий в этом каталоге все файлы превосходящие по размеру N. Помимо этого каждый из найденных файлов нужно упаковать в архив(в каталоге где он был найден), затем удалить исходный файл и создать пустой с таким же именем. Отчет обо всей работе надо скидывать в файл /var/log/Miso.log.
Проблема в том, что скрипт начинает выводить имена файлов не только в файл Miso.log, но ещё и в терминал. Как оставить лишь вывод в файл? И можно ли сразу начать архивировать файлы в строке с командой find?
#!/bin/bash
echo "Enter path"
read path
echo "Your path is $path"
echo "Enter size"
read size
echo "Your size is $size"
size=$(( $size * 1024))
find $path -size +"$size"k | sudo tee /var/log/Miso.log
Ответы (1 шт):
Автор решения: Ainar-G
→ Ссылка
Ну так и сделайте перенаправление напрямую в файл:
find $path -size +"$size"k > /var/log/Miso.log
Или, если вам так уж нужно sudo:
find $path -size +"$size"k | sudo tee /var/log/Miso.log > /dev/null