Как удалить ВСЕ каталоги, но НЕ файлы из другого места в execv?

Пробовал с помощью приведенной ниже команды, тоже работает нормально

команда

sed -n '/MCLK/p' filename| sed -r "s/^\s+//g"| sed -r "s/\(MCLK\)//g"

выход

sed -n '/MCLK/p' filename| sed -r "s/^\s+//g"| sed -r "s/\(MCLK\)//g"

800 MHz 
0
15.04.2021, 16:37
2 ответа

Вы можете использовать find, чтобы найти все каталоги непосредственно внутри Apple и удалить их

find home/Apple -type d -maxdepth 1 -mindepth 1 -exec rm -rf {} \;
0
28.04.2021, 22:52

Я предполагаю, что под «домашним каталогом» вы подразумеваете свой домашний каталог, то есть ~, каталог, который вы получите после выполнения cdбез аргументов, а не каталог /home.

У вас есть два каталога в ~/Apple, которые вы хотите удалить, назовем их dir1и dir2. Предполагая, что у вас также есть другие каталоги, которые вы не хотите удалять, вы должны использовать

rm -rf ~/Apple/dir1 ~/Apple/dir2

, чтобы удалить эти два каталога и все их содержимое. Если вы находитесь в своем домашнем каталоге, вы можете убрать ~/из двух путей в этой команде.

Если это только каталоги в ~/Apple, то вы можете использовать

rm -rf ~/Apple/*/

, чтобы удалить все подкаталоги каталога Appleв вашем домашнем каталоге. Шаблон подстановки */может разрешаться только в каталоги, поэтому, пока вы используете эту косую черту в конце, никакие каталоги, отличные от -в Apple, не будут затронуты. Опять же, ~/можно не указывать, если вы находитесь в своем домашнем каталоге.

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

1
28.04.2021, 22:52

Теги

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