Поиск файла и числового диапазона grep

Линкер goldбыл разработан как линкер, специфичный для ELF -, с намерением создать более удобный и быстрый линкер, чем BFD ld(, «традиционный» линкер GNU binutils ). В качестве побочного -эффекта он действительно способен связывать очень большие программы, используя меньше памяти, чем BFD ld, по-видимому, из-за меньшего количества уровней абстракции, с которыми приходится иметь дело, и потому что структуры данных компоновщика более непосредственно отображаются в ELF. формат.

Я не уверен, что есть много документации, в которой конкретно рассматриваются различия в конструкции между двумя компоновщиками и их влияние на использование памяти. Существует очень интересная серия статей о компоновщиках Яна Лэнса Тейлора, автора различных компоновщиков GNU, в которой объясняются многие проектные решения, приведшие к gold. Он пишет , что

The linker I am now working, called gold, on will be my third. It is exclusively an ELF linker. Once again, the goal is speed, in this case being faster than my second linker. That linker has been significantly slowed down over the years by adding support for ELF and for shared libraries. This support was patched in rather than being designed in.

(Второй линкер представляет собой BFD ld.)

-2
04.11.2020, 00:39
1 ответ

Подсказка :Поскольку grep ищет «формат» строки, а не значение, вы должны проанализировать, в каком формате должны быть числа в нужном вам диапазоне:

10000
10001
  :
14857
  :
15000

Если вы посмотрите, каковы возможные цифры, вы могли бы разработать регулярное выражение, которое проверяет, имеет ли число такой формат, т.е.

1. Has 5 digits.
2. Starts with 1.
3. The second digit can be 0,1,2,3,4,5.
4. The remaining digits don't matter (but each one have to be one digit from 0-9).

Я рекомендую сайтhttp://regex101.comдля изучения и тестирования регулярных выражений.

1
18.03.2021, 22:53

Теги

Похожие вопросы