Чи можливо за допомогою grep шукати екземпляри, John Smithале виключати екземпляри Mr John Smith?
Чи можливо за допомогою grep шукати екземпляри, John Smithале виключати екземпляри Mr John Smith?
Відповіді:
Це можна вирішити, використовуючи регулярний вираз із негативним поглядом (який експериментально підтримується, grepяк вказує коментар від розташування):
$ grep -P '(?<!Mr )John Smith' file
Оскільки підтримка є лише експериментальною, ви можете perlзамість цього використати :
$ perl -nle 'print if /(?<!Mr )John Smith/' file
Щоб використовувати регулярні вирази, використовуйте ^ і $
grep "^John Smith$"
^ - відповідність з початку $ - це відповідність від кінця.
Синтаксис буде залежати від того, що ви шукаєте у файлі.
Ви можете використовувати регулярні вирази з sed, grep, awk ....
Приклад
bodhi@Ubuntu:~ cat file
Mr John Smith
John Smith
John
Smith
bodhi@Ubuntu:~ grep "^John Smith$" file
John Smith
echo $string | grep -P '(?<!Mr )John Smith'.