GNU/Linux >> Linux の 問題 >  >> Linux

コロンを追加するとこのGrepパターンが壊れるのはなぜですか?

grepで検索を実行しました 、しかしそれは私が期待したようには機能しません。ファイルに次の行があります:

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'

結果が出ません。次の作品:

grep 'youtube.com'

コロンをエスケープするにはどうすればよいですか(: )?バックスラッシュ(grep‘\:youtube.com’)は機能しません。 RHEL 5、grep(GNU grep)2.5.1を使用しています。

更新:
grepしたいエントリを忘れました。これらも存在します:

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

正確なドメイン名を含むフィールドを取得したいだけです。ブラックリストをyoutube.comにリンクさせたいので、「:youtube.com」を使用します。

上記のリスト(youtube.com、youtube.com.br)から、youtube.comのみを取得する必要がありますが、何も取得しません。

はっきりしていませんでした。ごめんなさい。

承認された回答:

「ブラックリスト/リダイレクト/ドメイン」は実際にはファイル名であり、ファイルのコンテンツの一部ではないようです。 grep ':youtube.com' 正常に動作します:

% 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

「youtube.com」で始まる行を再帰的に検索する場合は、grep -R '^youtube\.com' path/to/dirを使用します。


Linux
  1. grep:コマンドが見つかりません

  2. この警告はどういう意味ですか?

  3. アドレスのランダム化をオンにすると、このコードがクラッシュするのはなぜですか?

  1. 「sudo-i」ログインシェルがヒアドキュメントのコマンド文字列引数を壊すのはなぜですか?

  2. Vim が改行を追加するのはなぜですか?これはコンベンションですか?

  3. この正規表現が Linux で機能しないのはなぜですか?

  1. Unix時間が1970-01-01から始まるのはなぜですか?

  2. これが「読み取り中」にターミナルで機能するのに、シェルスクリプトでは機能しないのはなぜですか?

  3. なぜ`exit&`が機能しないのですか?