обычно, когда я компилирую программу на языке 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
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
Как всегда: резервное копирование данных и удаление с осторожностью.
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
Как всегда: резервное копирование данных и удаление с осторожностью.
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
Как всегда: резервное копирование данных и удаление с осторожностью.