найти все файлы, кроме одного каталога

Redirigir el flujo de error estándar de mysqla un archivo:

mysql...options... 2>error_log.txt

Además, asegúrese de citar dos veces la variable$UserName(y las demás )para que se conserven los espacios y caracteres que pueden ser especiales para el shell.

Consulte las respuestas a la siguiente pregunta sobre cómo evitar el uso de una contraseña en la línea de comando para MySQL:Use una contraseña en el shell -script

-3
29.06.2016, 10:24
2 ответа

Это немного длиннее, но мне всегда нравится найти , когда я хочу уточнить. Это должно сохранить структуру и игнорировать каталог img.

find ./static -type d ! -name 'img' -exec rm -f {}/* \;

Подробное описание того, что происходит

find Команда

./ static , указывающая, где искать

type -d Выделение каталогов

! -name 'img' Игнорирование img dir

-exec rm -f {} / * \: {} заменяются найденными именами каталогов, и команда выполнен.

0
28.01.2020, 05:18

Ваша команда обрабатывается * как файл, попробуйте rm -rf ./static/{css,js}/

В качестве альтернативы, Bash имеет расширенный globbing (сначала тест, затем удалите echo):

$ shopt -s extglob
$ cd static
$ echo rm -rf !(img)

Или Короткий ответ

ls | grep -v "img" | xargs rm -rf

Как предлагает OP в комментарии, выполните этот шаг, чтобы выполнить свою работу. Сначала сухой запуск, распечатав файлы, чтобы убедиться, что вы получаете то, что ищете.

$ find . -path ./img -prune -o -type f
./css/styles
./img
./js/scripts

После подтверждения удалите его.

$ find . -path ./img -prune -o -type f -exec rm {} \;

$ static/
  ├── css
  ├── img
  │   └── pictures
  └── js
3
28.01.2020, 05:18

Теги

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