Apakah mungkin, menggunakan grep, untuk mencari contoh John Smith
tetapi mengecualikan contoh Mr John Smith
?
Apakah mungkin, menggunakan grep, untuk mencari contoh John Smith
tetapi mengecualikan contoh Mr John Smith
?
Jawaban:
Ini dapat diselesaikan dengan menggunakan ekspresi reguler dengan tampilan negatif (yang secara eksperimental didukung grep
seperti yang ditunjukkan oleh komentar dari aransemen):
$ grep -P '(?<!Mr )John Smith' file
Karena dukungannya hanya eksperimental, Anda mungkin ingin menggunakannya perl
sebagai 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'
.