GNU/Linux >> Znalost Linux >  >> Linux

Proč přidání tlustého střeva naruší tento vzor Grep?

Provedl jsem vyhledávání pomocí grep , ale nefunguje to, jak jsem očekával. V souboru mám následující řádky:

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

Když běžím:

grep ':youtube.com'

Nemám žádné výsledky. Následující funguje:

grep 'youtube.com'

Jak mohu uniknout dvojtečce (: )? Zpětné lomítko (grep ‚\:youtube.com‘) nefunguje. Používám RHEL 5, grep (GNU grep) 2.5.1.

Aktualizace:
Zapomněl jsem položky, které jsem chtěl grep, existují také:

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

Chci jen získat pole, která obsahují přesný název domény. Takže chci, aby byly černé listiny propojeny s youtube.com, takže používám „:youtube.com“.

Z výše uvedeného seznamu (youtube.com, youtube.com.br) bych měl získat pouze youtube.com, ale nic se mi nezobrazuje.

Nebyl jsem dostatečně jasný, omlouvám se.

Přijatá odpověď:

Vypadá to, že „černé listiny/přesměrovač/domény“ je ve skutečnosti název souboru, nikoli část obsahu souboru. grep ':youtube.com' funguje dobře:

% 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

Chcete-li rekurzivně najít řádky začínající na „youtube.com“, použijte grep -R '^youtube\.com' path/to/dir


Linux
  1. grep:příkaz nenalezen

  2. Co toto varování znamená?

  3. Proč tento plášťový ropovod vystupuje?

  1. Proč tento kód selhává při zapnuté randomizaci adres?

  2. Proč Vim přidává nový řádek? Je to konvence?

  3. Proč přidání místní IP a uživatelského jména do scp vrátí chybu veřejného klíče?

  1. Proč přihlašovací shell „sudo -i“ poruší argument řetězce příkazu Here-doc?

  2. Proč Unixový čas začíná na 1970-01-01?

  3. Proč se tento příkaz ldapadd ukončí s chybou Neplatná syntaxe?