Apakah mungkin, menggunakan grep, untuk mencari contoh John Smithtetapi mengecualikan contoh Mr John Smith?
Apakah mungkin, menggunakan grep, untuk mencari contoh John Smithtetapi mengecualikan contoh Mr John Smith?
Jawaban:
Ini dapat diselesaikan dengan menggunakan ekspresi reguler dengan tampilan negatif (yang secara eksperimental didukung grepseperti yang ditunjukkan oleh komentar dari aransemen):
$ grep -P '(?<!Mr )John Smith' file
Karena dukungannya hanya eksperimental, Anda mungkin ingin menggunakannya perlsebagai gantinya:
$ perl -nle 'print if /(?<!Mr )John Smith/' file
Untuk menggunakan ekspresi reguler, gunakan ^ dan $
grep "^John Smith$"
^ cocok dari awal $ cocok dari akhir.
Sintaks akan bervariasi tergantung pada apa yang Anda cari dalam file apa.
Anda dapat menggunakan ekspresi reguler dengan sed, grep, awk ....
Contoh
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'.