Как найти повторяющиеся строки в текстовом файле объединения - PullRequest
0 голосов
/ 27 ноября 2008

Я недавно преобразовал 10 файлов JavaScript в один файл, для которого затем запускаю компилятор JavaScript. У меня только что была ошибка, когда я повторно использовал имя функции.

Существует ли инструмент для проверки дубликатов имен строк / функций в объединенном файле?

Или я должен создать небольшую программу?

Ответы [ 2 ]

2 голосов
/ 27 ноября 2008

Я не пробовал это, но "Dupli Find", доступный на http://www.rlvision.com/dupli/about.asp, может помочь вам.

Сценарий Windows PowerShell, изложенный в http://secretgeek.net/ps_duplicates.asp также помогает вам написать собственный инструмент.

Существует также решение для сценариев на http://www.microsoft.com/technet/scriptcenter/resources/qanda/aug05/hey0819.mspx

0 голосов
/ 27 ноября 2008
cat file.js | grep -o "function\([[:space:]]\+[a-zA-Z0-9_]\+\)\?[[:space:]]*(" | sort | uniq -c | sort -n

Что гласит:

  • Файл кошки
  • Поиск определений функций (function-ws-name-ws-paren) -o извлечь только совпадающие части строк (т.е. только сами определения)
  • сортировка (для следующего шага)
  • Подсчет идентичных последовательных строк (uniq удаляет дубликаты, -c добавляет счетчик)
  • числовая сортировка по количеству вхождений, так что дубликаты (если они появляются в последнюю очередь)

Вы можете отфильтровать не дубликаты, но проще просто отсортировать, чтобы они были первыми.

Редактировать Изменено регулярное выражение для включения анонимных функций

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...