GNU/Linux >> Belajar Linux >  >> Linux

Menggunakan grep untuk mencari string yang memiliki titik di dalamnya

grep -F -r '0.49' * memperlakukan 0,49 sebagai string "tetap", bukan ekspresi reguler. Ini menghasilkan . kehilangan arti khususnya.


grep menggunakan regex; . berarti "karakter apa saja" dalam regex. Jika Anda menginginkan string literal, gunakan grep -F , fgrep , atau keluar dari . ke \. .

Jangan lupa untuk membungkus string Anda dengan tanda kutip ganda. Atau Anda harus menggunakan \\.

Jadi, perintah Anda harus:

grep -r "0\.49" *

atau

grep -r 0\\.49 *

atau

grep -Fr 0.49 *

Anda harus keluar dari . sebagai "0\.49" .

A . adalah karakter meta regex untuk mencocokkan karakter apa pun (kecuali baris baru). Untuk mencocokkan periode literal, Anda harus menghindarinya.


Linux
  1. Bagaimana Menemukan Semua File Yang Tidak Mengandung String Teks?

  2. Cara Menemukan Teks Tertentu menggunakan GREP di Linux

  3. Bagaimana saya bisa mencari pola multiline dalam sebuah file?

  1. Output pipa untuk digunakan sebagai spesifikasi pencarian untuk grep di Linux

  2. Menggunakan grep dan sed untuk mencari dan mengganti string

  3. Cara memahami kata yang tepat jika string memiliki titik di dalamnya

  1. Menggunakan grep untuk mencari secara terbalik

  2. Mencari string di banyak file di Linux

  3. Bagaimana cara mendapatkan baris yang berisi string dalam file?