Удалите файлы, в то время как, исключая файлы использование находит

Идея могла бы состоять в том, чтобы передать вывод по каналу tail через sed и замените новую строку звонком/новой строкой.

Но существует propably более легкое решение, если Вы используете tail в X-окне. Там Ваш может выполнить действие когда содержание изменений окна (мерцание, звонок, безотносительно).

6
06.05.2014, 15:37
2 ответа

Можно использовать -path, это не POSIX, но поддерживаемый многими реализациями:

find . \! -path "*/.svn/*" -empty -delete

-regex опция также.

4
27.01.2020, 20:29
  • 1
    я думаю все реализации, которые имеют -delete также имейте -path. Таким образом, это решение должно работать везде, это - скручивание жгутов объем вопроса. –  Gilles 'SO- stop being evil' 30.08.2011, 00:00

Если пробел не будет проблемой, то что-то вроде этого будет работать

find . \( -name .svn -prune -false \) -o -print | tac | xargs -L rm -f

Преимущество этого подхода состоит в том, что это - большая победа производительности, когда части дерева мы избегаем с -prune являются большими. Оборотная сторона - то, что - удаляют, удалит вещи, как только это видит лист, но эта команда должна ожидать до find выходы. Таким образом, если существует много материала для удаления, но не большая часть пространства поиска был сокращен, это не может быть победа.

0
27.01.2020, 20:29
  • 1
    Извините, пробел всегда является проблемой. Но возможно существует способ использовать tac с a \0 разделитель? –  l0b0 05.06.2012, 21:40

Теги

Похожие вопросы