GNU/Linux >> Belajar Linux >  >> Ubuntu

Bagaimana Menggunakan Grep Untuk Mencari Pola Yang Dimulai Dengan Tanda hubung (-)?

sudo find / -name "*" | xargs grep -sn --color=auto "-j"

Perintah di atas kembali ke bawah:

grep: invalid option -- 'j'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
...

Bagaimana cara mencari string -j ?

Jawaban yang Diterima:

Dalam kasus Anda "-j" ditafsirkan oleh grep sebagai argumen/opsi, bukan sebagai pola pencarian, bahkan jika Anda mengutipnya. Untuk membuatnya menjadi pola yang ingin Anda cari, gunakan saja -e pilihan:

sudo find / -name "*" | xargs grep -sn --color=auto -e "-j"

atau bahkan:

sudo find / -name "*" | xargs grep -sn --color=auto -e -j

-e argumen/opsi berarti bahwa argumen berikutnya adalah polanya. Ini dari man grep :

   -e PATTERN, --regexp=PATTERN
          Use  PATTERN  as  the  pattern.   This  can  be  used to specify
          multiple search patterns, or to protect a pattern beginning with
          a hyphen (-).  (-e is specified by POSIX.)

Cara lain:

  • gunakan -- , seperti yang dikatakan @Rinzwind dalam jawabannya, untuk membuat grep untuk mengetahui bahwa opsi telah berakhir.

  • gunakan untuk keluar dari tanda hubung (- ):

    sudo find / -name "*" | xargs grep -sn --color=auto "-j"
    

Ubuntu
  1. Bagaimana Cara Grep Garis Yang Tidak Dimulai Dengan "#" Atau ";"?

  2. Jalur Mana yang Digunakan `Sudo ` Untuk Mencari “?

  3. Bagaimana Cara Menggunakan Gui Untuk Mencari File Di Gnome?

  1. Bagaimana Cara Mencari Dconf Untuk Kunci Atau Nilai?

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

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

  1. Bagaimana cara memahami konten setelah pola?

  2. Cara mencari halaman manual Linux (mis. Dengan grep)

  3. bagaimana melakukan pencarian terbalik pencarian vim untuk semua baris tanpa teks