Saya punya file teks:
deiauk 1611516 afsdf 765
minkra 18415151 asdsf 4152
linkra sfsfdsfs sdfss 4555
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
deiauk 1611516 afsdf ddfgfgd
luktol1 4545 4 9
luktol 1
dan saya ingin mencocokkan persis deiauk
. Ketika saya melakukan ini:
grep "deiauk" file.txt
Saya mendapatkan hasil ini:
deiauk 1611516 afsdf 765
deiauk1 sdfsfdsfs 1561 51
deiauk2 115151 5454 4
tapi aku hanya butuh ini:
deiauk 1611516 afsdf 765
deiauk 1611516 afsdf ddfgfgd
Saya tahu ada -w
pilihan, tetapi kemudian string saya harus mach seluruh baris.
grep -w
? (Opsi itu tepat untuk tujuan itu, dan itu bekerja untuk saya.) - Catatan: opsi-x
cocok dengan seluruh baris.deiauk
/ " Aku hanya butuh ini:deiauk 1611516 afsdf 765
" - mana yang kamu butuhkan?Jawaban:
Coba salah satu dari:
sumber
*
perintah vi / vim pada kata-kata.org.apache.avro avro
diraihorg.apache.avro avro+mapred
(dicoba dengan *)Coba ini dengan GNU
grep
dan tandai batas kata dengan\b
:Keluaran:
Lihat: http://www.regular-expressions.info/wordboundaries.html
sumber
echo "Enter login: " $vard
grep -E "$\bvard\b" file.txt
grep "\b${vard}\b" file.txt
read
:read -p "Enter login: " vard; grep "\b${vard}\b" file.txt
Jika
grep
dukungan Anda-P
(PCRE), Anda dapat melakukan:sumber
Bergantung pada data Anda yang sebenarnya, Anda bisa mencari kata yang diikuti oleh spasi:
Jika Anda tahu itu harus di awal baris, periksa untuk itu:
sumber
^
- tetapi semua jawaban lainnya berhasil ... (Lanjutan)