grep с отрицанием в шаблоне

C -c C -j переключается в построчный режим, когда вам нужно сделать Emacs -y что-то с буфером (Term :line run )появляется в строке состояния

C -c C -k переключается обратно в режим char, когда вам нужно, чтобы он снова работал как терминал (Term :char run )отображается в строке состояния

0
31.01.2021, 23:10
3 ответа

Похоже, вы хотите сопоставить все случаи, когда есть граница слова\bпослеscan_document:

$ grep 'cronjob\.php scan_document\b' << EOF
php cronjob.php test
php cronjob.php scan_document
php cronjob.php scan_document -v
php cronjob.php scan_documenttest -v
php cronjob.php scan_document_callback_retry
EOF
php cronjob.php scan_document
php cronjob.php scan_document -v

Обратите внимание, что я избежал точки в cronjob.php-, иначе она может соответствовать любому одиночному символу.

3
18.03.2021, 22:33

Ваш grepвыполняет свою работу, ваш шаблон ничего не говорит о том, как заканчивается строка. Вы должны добавить его тогда:

$ grep "cronjob\.php scan_document$\|cronjob\.php scan_document[[:blank:]].*$" file
php cronjob.php scan_document
php cronjob.php scan_document -v

Мы загружаем grepдвумя шаблонами, один конец строки $, а другой пробел и далее [[:blank:]].*$.

0
18.03.2021, 22:33

Первый аргумент скрипта php должен быть равенscan_document:5

$ awk '$3 == "scan_document"' file
php cronjob.php scan_document
php cronjob.php scan_document -v
0
18.03.2021, 22:33

Теги

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