/etc/cgconfig.conf
содержит информацию о ваших группах управления. Никакого полезного содержимого по умолчанию нет. Поэтому пакет не поставляется с конфигурационным файлом в /etc
.
Похоже, вы используете дистрибутив на базе Debian. Есть пример конфигурационного файла в /usr/share/doc/cgroup-tools/examples/cgconfig.conf
(содержит только комментарии с примерами).
Вы можете узнать это, зная, что стандартное расположение файлов примеров в Debian - /usr/share/doc/имя пакета/examples/
. Вы также можете узнать это, просмотрев файлы с именем cgconfig.conf
(найти cgconfig.conf
, как только индекс поисковой базы данных будет перестроен с момента установки пакета; обычно это происходит каждую ночь). Вы также можете узнать это, просматривая файлы пакета: dpkg -L cgroup-tools
. На самом деле файлы находятся в пакете cgroup-tools
, а не в cgroup-bin
, потому что cgroup-bin
- это пакет совместимости, который существует только для облегчения обновления, зависящего от cgroup-tools
(это объясняется в описании пакета).
Команда
find . -maxdepth 1 -type f -exec grep -l "string_to_be_searched" {} \;|awk '{print $1}'| sed "s/\.\///g"| awk '{print "rm -rvf" " " $1}'| sh
Примечание :Проверено, работает нормально
grep -FRl 'extract($_REQUEST)' | xargs rm -fv
grep
-поиск текста в файлах. -F
-обрабатывать строку как есть, игнорировать возможные регулярные выражения. -R
-рекурсивный поиск. -l
-печатать только имена файлов. xargs
-передать результат следующей программе. rm
-удалить. -f
-заставить (не спрашивать "Вы уверены?" ). -v
-является необязательным, он выведет файлы, которые были удалены. ОБНОВЛЕНИЕ:
Чтобы удалять только файлы с точным текстом, предлагаю также проверить количество символов в файле.
for i in $(grep -FRl 'extract($_REQUEST)'); do [[ $(cat $i | wc -c) == "19" ]] && rm -fv $i; done
wc -c
-считает символы в файле. Поскольку приведенный вами пример(extract($_REQUEST)
)имеет длину 19 символов (, включая символ новой строки ), я использовал это число в своем примере, не стесняйтесь изменять его в соответствии с вашей ситуацией. find . -maxdepth 1 -type f \
-exec fgrep -q 'extract($_REQUEST)' '{}' ';' \
-not -exec fgrep -vq 'extract($_REQUEST)' '{}' ';' \
-delete
find .
поиск в текущем каталоге -maxdepth 1
и без подкаталогов -type f
поиск файлов -exec
и для каждого выполнить этот тест fgrep
простой строковый поиск -q
без видимого выхода 'extract($_REQUEST)'
для этой строки '{}'
в файле, который вы нашли ';'
[конец выполнения] -not
не следующий тест -exec
выполнить снова fgrep
снова fgrep -vq
но на этот раз ищите не -совпадающие строки 'extract($_REQUEST)'
тот же образец для поиска '{}'
в файле ';'
[конец выполнения] -delete
удалить их Это работает, потому что exec также является тестом, и когда fgrep находит совпадение, тест завершается успешно и выполняется удаление. если grep возвращает false, удаление не выполняется.