Как удалить все файлы внутри подпапок, но не вложенные папки?

IBM Lotus Symphony - отличный текстовый процессор с полной поддержкой .docx. Однако это запатентовано.

1
задан 28 April 2015 в 05:08

3 ответа

На основе ответа steeldriver вы можете добавить xargs, чтобы был только один вызов gvfs-trash. в своем примере find будет вызывать gvfs-trash один раз для каждого файла, найденного в find. Это может быть медленным, если есть много файлов:

find . -type f -print0 | xargs -0 gvfs-trash
2
ответ дан 23 May 2018 в 20:56
  • 1
    Если вы ссылаетесь на пример в комментарии, + указывает, что gvfs-trash будет вызываться с несколькими именами файлов, поэтому он эквивалентен вашей команде xargs. – muru 28 April 2015 в 05:05
  • 2
    Ага! Я этого не знал. ну, я думаю, это не очень полезно тогда – Unacoder 28 April 2015 в 05:06

Вы также можете сделать это с помощью команды rm, но вам придется делать это несколько раз.

вы можете сначала cd в родительский каталог с этим

cd /rootdir

после этого вам нужно будет запустить

rm -rf ./folder/*

Заменить папку с именем папки, которую вы хотите опорожнить (например, subA )

Повторяйте это до тех пор, пока все папки не будут пустыми.

Обратите внимание, что -rf удалит также все папки внутри папки, которую вы хотите удалить

0
ответ дан 23 May 2018 в 20:56

Вы можете сделать это с помощью -exec следующим образом: find rootdir -type f -exec rm {} \; (обратите внимание, что обратная косая черта необходима)

0
ответ дан 23 May 2018 в 20:56

Другие вопросы по тегам:

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