Чи можливо за допомогою 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'
.