Проблема с расширением файла

обычно, когда я компилирую программу на языке C, я даю команду:

gcc -o program_name program_name.c

У меня есть папка с файлами program_name и program_name.c.

Я хотел удалить файлы с именами программ. Поэтому я огляделся и нашел это, предлагая использовать команду «find»:

find . -type f -name '*.o' -exec rm {} +

Проблема в том, что для этого требуется расширение файла, и в этих файлах нет.

Я даже не могу их найти:

find -type f -name '*.out' find -type f -name '*.o'

не дает результатов.

ls -l:

-rwxr-xr-x 1 my_username 8432 date & time addressof -rwxr-xr-x 1 my_username 8480 date & time addressof2 -rw-r--r-- 1 my_username 544 date & time addressof2.c -rw-r--r-- 1 my_username 128 date & time addressof.c -rwxr-xr-x 1 my_username 8480 date & time char_array -rw-r--r-- 1 my_username 390 date & time char_array.c -rwxr-xr-x 1 my_username 8424 date & time commandline -rw-r--r-- 1 my_username 202 date & time commandline.c -rwxr-xr-x 1 my_username 8536 date & time convert -rwxr-xr-x 1 my_username 8536 date & time convert2 -rw-r--r-- 1 my_username 366 date & time convert2.c -rw-r--r-- 1 my_username 359 date & time convert.c -rwxr-xr-x 1 my_username 8424 date & time datatype_size -rw-r--r-- 1 my_username 532 date & time datatype_size.c -rwxr-xr-x 1 my_username 8424 date & time firstprog -rw-r--r-- 1 my_username 108 date & time firstprog.c -rwxr-xr-x 1 my_username 8480 date & time fmt_strings -rw-r--r-- 1 my_username 398 date & time fmt_strings.c -rwxr-xr-x 1 my_username 8520 date & time input -rw-r--r-- 1 my_username 307 date & time input.c -rwxr-xr-x 1 my_username 8776 date & time memory_segments -rw-r--r-- 1 my_username 1641 date & time memory_segments.c -rwxr-xr-x 1 my_username 8472 date & time pointer -rw-r--r-- 1 my_username 404 date & time pointer.c -rwxr-xr-x 1 my_username 8472 date & time pointers -rw-r--r-- 1 my_username 601 date & time pointers.c -rwxr-xr-x 1 my_username 8520 date & time pointer_types -rwxr-xr-x 1 my_username 8520 date & time pointer_types2 -rw-r--r-- 1 my_username 757 date & time pointer_types2.c -rwxr-xr-x 1 my_username 8520 date & time pointer_types3 -rw-r--r-- 1 my_username 1303 date & time pointer_types3.c -rwxr-xr-x 1 my_username 8520 date & time pointer_types4 -rw-r--r-- 1 my_username 1002 date & time pointer_types4.c -rwxr-xr-x 1 my_username 8520 date & time pointer_types5 -rw-r--r-- 1 my_username 943 date & time pointer_types5.c -rw-r--r-- 1 my_username 682 date & time pointer_types.c -rwxr-xr-x 1 my_username 8512 date & time scope -rwxr-xr-x 1 my_username 8584 date & time scope2 -rw-r--r-- 1 my_username 688 date & time scope2.c -rwxr-xr-x 1 my_username 8640 date & time scope3 -rw-r--r-- 1 my_username 1013 date & time scope3.c -rw-r--r-- 1 my_username 543 date & time scope.c -rwxr-xr-x 1 my_username 8432 date & time sizeof_pointer -rw-r--r-- 1 my_username 199 date & time sizeof_pointer.c -rwxr-xr-x 1 my_username 8472 date & time stack_example -rw-r--r-- 1 my_username 178 date & time stack_example.c -rwxr-xr-x 1 my_username 8544 date & time static -rwxr-xr-x 1 my_username 8632 date & time static2 -rw-r--r-- 1 my_username 433 date & time static2.c -rw-r--r-- 1 my_username 334 date & time static.c -rwxr-xr-x 1 my_username 8528 date & time strtol_function -rw-r--r-- 1 my_username 423 date & time strtol_function.c -rwxr-xr-x 1 my_username 8424 date & time typecasting -rw-r--r-- 1 my_username 308 date & time typecasting.c -rwxr-xr-x 1 my_username 8480 date & time wrong_pointer -rw-r--r-- 1 my_username 600 date & time wrong_pointer.c
0
задан 13 September 2017 в 03:58

3 ответа

find -type f ! -name '*.c'

находит каждый f файл, файл name не является (!), заканчивающийся на .c.

Чтобы играть в это безопасно, используйте -ok вместо [ f9] not выполнить rm с опцией -i:

find -type f ! -name '*.c' -ok rm {} +
find -type f ! -name '*.c' -exec rm -i {} +

Если вы абсолютно уверены, что можете автоматически удалить все результаты с помощью -delete (всегда как последний вариант!) вместо вызова другой программы:

find -type f ! -name '*.c' -delete

Как всегда: резервное копирование данных и удаление с осторожностью.

2
ответ дан 22 May 2018 в 18:32
find -type f ! -name '*.c'

находит каждый f файл, файл name не является (!), заканчивающийся на .c.

Чтобы играть в это безопасно, используйте -ok вместо -exec not выполнить rm с опцией -i:

find -type f ! -name '*.c' -ok rm {} + find -type f ! -name '*.c' -exec rm -i {} +

Если вы абсолютно уверены, что можете автоматически удалить все результаты с помощью -delete (всегда как последний вариант!) вместо вызова другой программы:

find -type f ! -name '*.c' -delete

Как всегда: резервное копирование данных и удаление с осторожностью.

2
ответ дан 18 July 2018 в 06:58
find -type f ! -name '*.c'

находит каждый f файл, файл name не является (!), заканчивающийся на .c.

Чтобы играть в это безопасно, используйте -ok вместо -exec not выполнить rm с опцией -i:

find -type f ! -name '*.c' -ok rm {} + find -type f ! -name '*.c' -exec rm -i {} +

Если вы абсолютно уверены, что можете автоматически удалить все результаты с помощью -delete (всегда как последний вариант!) вместо вызова другой программы:

find -type f ! -name '*.c' -delete

Как всегда: резервное копирование данных и удаление с осторожностью.

2
ответ дан 24 July 2018 в 18:42

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

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