Добавьте параметр - max-depth
со значением 0:
du -h --max-depth=0 /root/test
Или используйте параметр -s
(сводка):
du -sh /root/test
Любой из них должен дать вам то, что вы хотите. Для дальнейшего использования очень полезно man du
.
Думаю, просто так:
rm -rf `find /myPhotorec -name "*" | grep -v "44c9ea3abbd24"`
find /myPhotorec -type f ! -exec grep -qF '44c9ea3abbd24' {} ';' -print -delete
Это найдет все обычные файлы в каталоге /myPhotorec
или в нем, проверит, содержат ли они заданную строку (в содержимом файла ), и для каждого файла, который не содержит строку, отобразит пути и удалите их.
Если ваш find
не поддерживает -delete
, замените эту часть на -exec rm {} +
.
Если вы хотите вручную подтверждать каждое удаление, измените -delete
на -ok rm {} ';'
.
Относительноfind... -exec...
:Понимание опции -exec команды `find`