Ваш GREEP не поддерживает флаг -A
, поэтому вы не можете использовать это. Но вы должны быть в состоянии получить тот же результат с awk
.
awk -v dt=$(date +%m/%d) '$0~dt{counter=5}counter>=0{print;counter--}' file.txt
Это устанавливает счетчик до 5, когда совпадение найдено и печатает и уменьшает счетчик, пока он не отрицательный.
Для поиска имени файла, имя которого хранится в пути сценария, необходимо использовать параметр -name
.
find / -name "$scriptpath" -user $USER -mtime -5
для поиска по всему диску и
find . -name "$scriptpath" -user $USER -mtime -5
для поиска по текущему каталогу.
Файл будет изменен в течение последних 6 дней (используйте -time + 5
, если они должны быть старше этого).
Также с помощью GNU wc (coreutils 8,4) он может обрабатывать несколько файлов
wc -L *.txt
Я задал этот вопрос своему наставнику, и он сказал использовать grep, поэтому я Греп - совершенно удивительный инструмент! Код, который я использовал для поиска макроса, был grep -rl «INADDR_ALLHOSTS_GROUP» *
, и я запустил его из каталога/usr/include.
Для поиска текста на всех страницах руководства можно использовать опцию -K
(--global-apropos
). Однако это довольно медленно (как сказано в man(1) man-странице, вы также должны указать раздел для уменьшения количества страниц, которые нужно искать) и будет работать только в том случае, если соответствующий макрос описан в какой-нибудь man-странице. Если man-страницы не описывают макрос, то, очевидно, следует найти другой способ.