J'ai exécuté une recherche avec grep
, mais cela ne fonctionne pas comme je m'y attendais. J'ai les lignes suivantes dans un fichier :
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
Quand je cours :
grep ':youtube.com'
Je n'obtiens aucun résultat. Les travaux suivants :
grep 'youtube.com'
Comment puis-je échapper aux deux-points (:
) ? La barre oblique inverse (grep '\:youtube.com') ne fonctionne pas. J'utilise RHEL 5, grep (GNU grep) 2.5.1.
Mise à jour :
J'ai oublié les entrées que je voulais grep, celles-ci existent également :
./blacklists/movies/domains:youtube.com
./blacklists/movies/domains:youtube.com.br
Je veux juste obtenir les champs qui contiennent le nom de domaine exact. Je veux donc que les listes noires soient liées à youtube.com, j'utilise donc ":youtube.com".
Dans la liste ci-dessus (youtube.com, youtube.com.br), je ne devrais obtenir que youtube.com, mais je n'obtiens rien.
Je n'ai pas été assez clair, désolé.
Réponse acceptée :
On dirait que "listes noires/redirecteur/domaines" est en fait un nom de fichier, et non une partie du contenu du fichier. grep ':youtube.com'
fonctionne très bien :
% 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
Si vous souhaitez rechercher de manière récursive des lignes commençant par "youtube.com", utilisez grep -R '^youtube\.com' path/to/dir