En bash, je veux renvoyer le nom du fichier (et le chemin d'accès au fichier) pour chaque fichier de type .php|.html|.js
contenant la chaîne insensible à la casse "document.cookie" | "setcookie"
Comment je ferais ça?
En bash, je veux renvoyer le nom du fichier (et le chemin d'accès au fichier) pour chaque fichier de type .php|.html|.js
contenant la chaîne insensible à la casse "document.cookie" | "setcookie"
Comment je ferais ça?
Essayez quelque chose comme grep -r -n -i --include="*.html *.php *.js" searchstrinhere .
l'-je fait cas insensitlve
le "." à la fin signifie que vous souhaitez démarrer à partir de votre répertoire courant, cela pourrait être remplacé par n'importe quel répertoire.
l'option "-r" signifie faire cela de façon récursive, à droite en bas de l'arborescence de répertoires
le "-n" imprime le numéro de la ligne pour les matchs.
le "--include" vous permet d'ajouter des noms de fichiers, les extensions. Les caractères génériques accepté
Pour plus d'infos, voir: http://www.gnu.org/software/grep/
find
eux et grep
pour la chaîne:
Ceci trouvera tous les fichiers de vos 3 types dans / starting / path et grep pour l'expression régulière '(document\.cookie|setcookie)'
. Diviser sur 2 lignes avec la barre oblique inverse juste pour la lisibilité ...
find /starting/path -type f -name "*.php" -o -name "*.html" -o -name "*.js" | \
xargs egrep -i '(document\.cookie|setcookie)'
Cela semble être un travail parfait pour grep
ou peut-être ack
Ou cette magnifique construction:
find . -type f \( -name *.php -o -name *.html -o -name *.js \) -exec grep "document.cookie\|setcookie" /dev/null {} \;
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.