Как удалить/удалить исполняемые файлы (иначе файлы без расширения) только

Словарь состоит из серии пар {ключ: значение}. В исходе, который вы указали, нет ключа: значение.

{(4: 5.12), (3: 9.78), (6: 14.88), (6: 14.94), (5: 8.50), (4: 16.32), (2,7.40), ( 7,9.31), (3,11.79), (4,10.92), (4,7.16)}

В качестве альтернативы вы можете создать два списка: df.count.tolist() и df.sum.tolist() и поместить их к списку кортежей: list(zip(list1,llist2))

7
задан neversaint 13 May 2009 в 07:04
поделиться

8 ответов

вы можете запустить

find . -perm +100 -type f -delete
17
ответ дан 6 December 2019 в 04:46
поделиться

Используйте находку . Вам нужно следующее:

find . -type f -executable -exec rm '{}' \;

Удаление всего без расширения также может быть выполнено:

find . -type f -not -iname "*.*" -exec rm '{}' \;

Первый вариант не удаляет Makefile , и поэтому предпочтительнее. Я думаю, что ответ kcwu показывает хороший способ улучшить приведенное выше, используя параметр -delete :

find . -type f -executable -delete
find . -type f -not -iname "*.*" -delete

Изменить : я использую GNU findutils find , версия 4.4.0, под Ubuntu 8.10. Я не знал, что переключатель -executable настолько необычен.

11
ответ дан 6 December 2019 в 04:46
поделиться

Перегрузка - это определение нескольких возможных «сигнатур» одного метода или оператора. Каждая сигнатура принимает разные аргументы и, по сути, представляет собой отдельную функцию, ничем не отличающуюся от того, если бы несколько функций имели разные имена. Это часто используется для группировки концептуально похожих операций, таких как перегрузка + для работы с BigInteger и с String : обе операции кажутся разумными для использования + для (если вы не думаете, что все перегрузки + должны определять абелевы группы - перегрузка String не определяет).

Переопределение - это определение несколько возможных реализаций одной и той же сигнатуры метода,

17
ответ дан 6 December 2019 в 04:46
поделиться
find . -perm /ugo+x -delete

Исправленная версия первой команды Stephan202.

EDIT: Также попробуйте:

find . -perm /111 -delete

, в котором используется восьмеричный эквивалент

3
ответ дан 6 December 2019 в 04:46
поделиться

Вместо передачи -exec rm '{}' \; , чтобы найти, можно использовать -delete аргумент

2
ответ дан 6 December 2019 в 04:46
поделиться

Используйте find для удаления всех файлов (не папок), не содержащих символа точки:

find . \! -name "*.*" -type f -exec rm {} \;
2
ответ дан 6 December 2019 в 04:46
поделиться

i suggest using first

find . -not -name "*.*" -exec ls -l {} \;

to see the name of files that are matched.

and then, change the ls -l to rm

find . -not -name "*.*" -exec rm {} \;

also, you can use a confirm prompt to make it more safe:

find . -not -name "*.*" -exec rm -i {} \;
2
ответ дан 6 December 2019 в 04:46
поделиться

Я бы предпочел использовать чистую цель в Makefile. Скорее всего, он уже содержит список этих двоичных файлов, поэтому добавление чистой цели не потребует больших усилий.

5
ответ дан 6 December 2019 в 04:46
поделиться
Другие вопросы по тегам:

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