Для арки я боялся, что случайно удалил много файлов с плохим фин... | xargs rm -формат команды rf. John1024 спасибо за совет.
Чтобы упростить все (для моего веб-сайта -каталог /srv/http )я запускаю все это в одну строку:
sudo cp /var/lib/mlocate/mlocate.db ~/old.db; sudo updatedb; sudo locate -d ~/old.db /srv/http | sort >~/old.list; sudo locate /srv/http | sort >~/new.list; sudo diff ~/old.list ~/new.list;
Убедитесь, что вы заменили /srv/http интересующим вас каталогом.
и здесь отображаются файлы, которые были изменены. Еще раз спасибо!
Если вы хотите, чтобы regexec
заполнил неиспользуемые элементы массива значением -1, вам нужно сначала указать их количество. Замените matchcnt
на MATCH_CNT
в этой строке :
if((execret = regexec(&compreg, str, matchcnt, matches, 0)) == 0)
поэтому становится
if((execret = regexec(&compreg, str, MATCH_CNT, matches, 0)) == 0)
(и добавьте отсутствующий int
перед compret = -2;
), и ваша программа будет работать как положено:
$./549805 "^ROOM\s{1}NAME:\s{1}([[:alpha:]]{6})" "ROOM NAME: BriCol"
Trying to match with extended regex...
Compiling successful.
Regexec successful.
Match 0; Beginning: 0
Match 0; End: 17
Match 1; Beginning: 11
Match 1; End: 17
$
Вам также следует инициализировать errbuff
значением NULL
, чтобы избежать вызова free()
с неопределенным значением (, когда errbuff
никогда не инициализируется ). И пока вы этим занимаетесь, проверьте возвращаемое значение malloc()
— выделения могут завершиться ошибкой.