2

Мне нужно иметь возможность искать несколько тысяч файлов XHTML и XML и видеть список файлов, которые не содержат следующую строку в первой строке:

<?xml version="1.0" encoding="utf-8"?>

Как бы я поступил так? Я думал, что смогу сделать это в Notepad++, используя функцию поиска в файлах, но я не вижу способа найти строку, которая не найдена и / или правильно отформатирована, и вывести ее в виде списка файлов.

2 ответа2

5

Я знаю, что это старый вопрос, но я пришел сюда в поисках той же информации и подумал, что поделюсь более простым решением с использованием Agent Ransack, которое фактически позволяет вам указать условие NOT. Для указанного выше вопроса использование следующего текста в качестве текста для поиска отлично работает, и единственная необходимая модификация рассматриваемой строки - экранирование двойных кавычек:

NOT "<?xml version=\"1.0\" encoding=\"utf-8\"?>"

Надеюсь, это поможет кому-то еще.

1

Используйте Agent Ransack и установите для него поиск только по типам файлов .xml. Если вы знаете, что RegEx использует это, я на работе, или я бы помог с этим. Я верю, что агент Рэнсак обладает способностью просто использовать отрицательный поиск, но мне придется проверить.

У агента Ransack есть "Specify Not Expression", которая будет работать для того, что вы хотите, но вам понадобится строка соответствия регулярного выражения, чтобы выполнить ее. Если вы разработчик, это хороший навык, по крайней мере, быть знакомым с псевдо-знакомством, достаточным для выполнения некоторых базовых поисков или сопоставления текста.

[Редактировать] Агент Ransack не имеет возможности поиска "Не выражение". RegEx был довольно прост, хотя

(<\?xml version="1.0" encoding="utf-8"\?>)

Я буду продолжать искать инструмент / служебное приложение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .