Отображение только содержимого файла из каталога (, заданного параметром ), или его подкаталогов с расширением.txt с использованием grep

RANDOMIZE_BASE — это функция, доступная на большинстве архитектур, которая рандомизирует виртуальный и физический базовые адреса ядра .

RANDOMIZE_MEMORYявляется специфической функцией x86 -64 -, которая дополнительнорандомизирует смещения page_offset_base, vmalloc_base, vmemmap_base, , т.е. местоположения физическое отображение в памяти ядра, пространство vmallocи карта виртуальной памяти. Как вы можете видеть из связанной карты памяти, за всеми ними следуют дыры, которые позволяют перемещать их без необходимости иметь дело с перекрытием с тем, что находится до или после них в памяти.

-2
25.03.2021, 11:20
2 ответа

Чтобы отобразить содержимое файла с grep, вы можете выполнить поиск по пустому регулярному выражению grep "" file.txtили регулярному выражению «начало строки» grep ^ file.txt.

Насколько я понимаю, в качестве параметра указывается каталог. Если это так:

grep ^ $(find $1 -name '*.txt')

или

find $1 -name '*.txt' -exec grep ^ {} \;

Проблема с обоими решениями заключается в том, что они отображают содержимое всех текстовых файлов, а не «файл », как того требует вопрос. Первое решение также печатает имена текстовых файлов, если найдено более одного текстового файла. Наконец, мое первое решение не работает, если найдено слишком много текстовых файлов; xargsпомогает в этом случае.

0
28.04.2021, 22:56

По крайней мере, с GNU grep (, который, вероятно, является вашей реализацией, поскольку вы отметили вопрос Linux ), вы можете использовать опцию --include, чтобы ограничить искомые файлы по глобусу. Сочетание этого с пустым шаблоном для имитацииcat:

grep -hr --include='*.txt' '' directory

Параметр -hотключает добавление по умолчанию префикса имени файла к совпавшим результатам.

1
28.04.2021, 22:56

Теги

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