を使用して検索しましたが、期待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のみを取得する必要がありますが、何も得られません。
私は十分に明確に説明できませんでした。申し訳ありません。
答え1
グレブは素晴らしい仕事をしています。ファイルに「:youtube.com」という行が含まれていません。
これらすべての行を一致させるには、:
次のものを使用できます。
grep ":.*youtube\.com"
修正する:
質問を更新したら、2番目の部分に答える必要があります。
上記のリスト(youtube.com、youtube.com.br)からyoutube.comのみを取得する必要がありますが、何も得られません。
あなたはgrep ':youtube.com'
実際に必要なことをしました。それがあなたに役立つことができるルートオプションであれば-R
。
答え2
「ブラックリスト/リダイレクタ/ドメイン」は、実際にはファイル名であり、ファイルの内容の一部ではないようです。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
答え3
他の人が指摘したように、コロン文字はgrep検索ファイルではなくgrepの出力にあります。 grepがファイル内の一致する行を見つけた場合、次のように表示されます。filename:line
現在遭遇している問題は、youtube.comは含まれているがProxyyoutube.comは含まれていないファイルを一致させることです。そうですか?
あなたの場合、探している文字列が行の先頭にあるように見えるので、次のことができます。
grep * "^youtube.com"
上矢印文字は行の先頭でのみ一致するため、「extrastuffhereyoutube.com」では一致を回避できます。
答え4
私は好む切る
echo '
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
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br
'|cut -d: -f2