Удалить все inodes BESIDES один под всеми экземплярами dir0 / dir1 UNDER var / www / html, в одной команде

У меня есть каталог var/www/html и под ним есть несколько веб-сайтов (скажем, около 5).

Все 5 веб-сайтов имеют внутренний путь dir0/dir1 .

Как я мог he_IL.mo все inode внутри этого пути (кроме одного inode с именем he_IL.mo ), но в одной команде?

Я спрашиваю об одной команде, так как у меня есть следующий блок из 3 команд, которые работают, но я хотел бы сделать как можно меньше:

 ( find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -type f -exec rm -f {} + find /var/www/html/*/dir0/dir1/ -type f -exec rm -d {} + find /var/www/html/*/dir0/dir1/ -type f -exec rm -l {} + ) 
  • Если я делаю * вместо f я получаю «Должен содержать только букву».
  • Если я делаю i вместо f , я получаю «Неизвестный аргумент».

  • Как выйти из цикла while
  • В чем разница между созданием каталога внутри / home и / home / $ USER?
  • Какова концепция, скрытая за термином «команда»?
  • Как я периодически запускаю команду с очень коротким интервалом и получаю возврат?
  • Сохранение списка в определенном формате
  • Не удается войти через telnet в ddwrt
  • Как я могу получить возвышенный текст для запуска из командной строки?
  • Не удается запустить несколько файлов без nohup
  • One Solution collect form web for “Удалить все inodes BESIDES один под всеми экземплярами dir0 / dir1 UNDER var / www / html, в одной команде”

    Способ использования одной команды – удалить из командной -type . Тогда получим:

     find /var/www/html/*/dir0/dir1/ ! -name 'he_IL.mo' -exec rm -f {} + 

    Обратите внимание, что он не будет удалять каталоги и программные he_IL.mo с именем he_IL.mo , но если все в порядке, используйте его.

    Linux и Unix - лучшая ОС в мире.