Est-ce que grep fonctionne différemment sur OSX?
Je suis en train d'utiliser grep comme je suis habitué de Linux, avec toutes ses caractéristiques étonnantes et toute la puissance de RegEx,... mais sur Mac OS X, il ne fonctionne pas comme prévu.
Si j'utilise "-P" (expression rationnelle Perl) il me donne l' "utilisation" (--help) de sortie.
Là, nous trouvons le "-P" paramètre dans la liste des paramètres "-abcDEFGHhIiJLlmnOoPqRSsUVvwxZ"...
Toujours pas de travail.
Un autre exemple est l'astérisque ou le signe plus.
Je suis en train d'essayer cette http://wiki.bash-hackers.org/howto/conffile
Pour vérifier un fichier de config pour contenu inapproprié que l'instruction utilise:
if egrep -q -v '^#|^[^ ]*=[^;]*' "$configfile"; then
echo "Config file is unclean, cleaning it..." >&2
# filter the original to a new file
egrep '^#|^[^ ]*=[^;&]*' "$configfile" > "$configfile_secured"
configfile="$configfile_secured"
fi
Et il ne fonctionne pas sur les lignes comme ceci:
DATABASE=some_database; ls -la
Ce que je fais mal?
Tous cela fonctionne bien sur les machines Linux.
source d'informationauteur func0der
Vous devez vous connecter pour publier un commentaire.
ubuntu (bien, mon ancien ubuntu 8 box, je suis assis à côté de...):
OS X:
Ouais, ils sont différents programmes. OS X n'est pas Linux. Il est basé sur BSD.
Si vous voulez la version GNU de grep, avec ses diverses extensions, vous pouvez l'installer facilement avec Homebrew.
Sur OS X, vous avez FreeBSD
grep
par défaut, sur Linux GNUgrep
.Les ressources suivantes peuvent expliquer pourquoi GNU grep semble être le meilleur (et plus rapide):
Mac OS X est basé sur BSD, et de ne pas utiliser les outils GNU. J'avais lu sur POSIX grep parce que sans GNU extensions que vous allez continuer à obtenir agité pour aucune raison. Tout doit toujours être possible, mais pas exactement de la façon dont vous avez utilisé pour.