GNU/Linux >> Belajar Linux >  >> Linux

Mengapa Menambahkan Titik Dua Mematahkan Pola Grep Ini?

Saya melakukan pencarian dengan grep , tetapi tidak berfungsi seperti yang saya harapkan. Saya memiliki baris berikut dalam file:

blacklists/redirector/domains:needyoutube.com
lacklists/redirector/domains:openyoutube.com
blacklists/redirector/domains:proxy-youtube.com
blacklists/redirector/domains:proxytoyoutube.com
blacklists/redirector/domains:streamyoutube.com
blacklists/redirector/domains:unblockyoutube.com

Saat saya menjalankan:

grep ':youtube.com'

Saya tidak mendapatkan hasil. Berikut ini berfungsi:

grep 'youtube.com'

Bagaimana saya bisa keluar dari titik dua (: )? Garis miring terbalik (grep '\:youtube.com') tidak berfungsi. Saya menggunakan RHEL 5, grep (GNU grep) 2.5.1.

Pembaruan:
Saya lupa entri yang ingin saya ambil, ini juga ada:

./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br

Saya hanya ingin mendapatkan bidang yang berisi nama domain yang tepat. Jadi saya ingin agar daftar hitam ditautkan ke youtube.com, jadi saya menggunakan “:youtube.com”.

Dari daftar di atas (youtube.com, youtube.com.br), seharusnya saya hanya mendapatkan youtube.com, tetapi saya tidak mendapatkan apa-apa.

Saya tidak cukup jelas, maaf.

Jawaban yang Diterima:

Sepertinya "daftar hitam/redirector/domain" sebenarnya adalah nama file, bukan bagian dari konten file. grep ':youtube.com' berfungsi dengan baik:

% cat test.txt
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br
blacklists/redirector/domains:needyoutube.com
lacklists/redirector/domains:openyoutube.com
blacklists/redirector/domains:proxy-youtube.com
blacklists/redirector/domains:proxytoyoutube.com
blacklists/redirector/domains:streamyoutube.com
blacklists/redirector/domains:unblockyoutube.com
% grep ':youtube.com' test.txt
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br

Jika Anda ingin menemukan baris yang dimulai dengan "youtube.com" secara rekursif, gunakan grep -R '^youtube\.com' path/to/dir


Linux
  1. Mengapa Shell Login 'Sudo -i' Memecah Argumen String Perintah Di Sini-doc?

  2. Mengapa "sementara Baca" Ini Bekerja Di Terminal, Tapi Tidak Di Skrip Shell?

  3. Mengapa `keluar &` Tidak Berfungsi?

  1. Apa arti peringatan ini?

  2. Mengapa `cat /dev/urandom` merusak terminal Anda?

  3. Mengapa Vim menambahkan baris baru? Apakah ini konvensi?

  1. Grep – Mengapa Kurung Dalam Pola Grep Menghapus Proses Grep Dari Hasil Ps?

  2. Mengapa Sudo Mengabaikan Alias?

  3. Mengapa regex ini tidak berfungsi di linux?