найдите каталоги и измените владельца с помощью bash

#bash #syntax #gnu-findutils

Вопрос:

Я пытаюсь найти каталоги старше 150 дней и изменить их владельца как root. Пожалуйста, можете ли вы посоветовать, как мне исправить приведенные ниже ошибки?

find /mnt/mailfolder/ -maxdepth 1 -type d -mtime 150 -printf "%Pn" -exec "chown -R oracle:oinst

find: missing argument to `-exec'

Комментарии:

1. Вам нужно добавить {} ; в exec {} ссылку на найденный файл (который является отсутствующим arg) -exec chown -R oracle:oinst {} ;

2. Спасибо. Он находит папку, но при обнаружении не удается «N01 найти: «chown-R oracle:oinstall»: Такого файла или каталога нет».

Ответ №1:

Попробуйте использовать

найти /главная/$ПОЛЬЗОВАТЕЛЬ -mtime 150 -печать amp;amp; чаун -R корень:корень /главная/$ПОЛЬЗОВАТЕЛЬ

Комментарии:

1. Это испортило каждую папку с «oracle:oinstall», я запустил то, что вы посоветовали find /mnt/mailfolder/$folder -maxdepth 1 -type d -mtime 150 -printf "%Pn" amp;amp; chown -R oracle:oinstall /mnt/mailfolder/$folder

2. amp;amp; не просматривает первую половину скрипта и изменяет каталог в каждой папке