après m'être battu pendant pret d'une heure et m'être enerver quelques
fois, je viens quérir de l'aide...
Déjà, e que je souhaite faire : parser un fichier ipfilter.dat (qu'on
peut avoir avec les emule-like) de la forme :
et sortir de tout ça un fichier/flux avec juste les range d'IP
IP_debut-IP_fin utilisable par iptables..
Sachant qu'une bonne partie du fichier utilise des IP du style
035.028.012.08 illisible par iptables, j'aimerais tout d'abord "couper"
le fichier en 2.
Une première partie avec toutes les lignes qui contiennent Invalid ou
AntiP2P, et une seconde avec le reste..
Personnellement ça me paraissait pas trop compliqué.. mais les commandes
suivantes :
# grep (Invalid|AntiP2P) ipfilter.dat
# egrep (Invalid|AntiP2P) ipfilter.dat
me renvoient "bash: syntax error near unexpected token `Invalid'"
et si bien sur je mets ces commande dans une ligne du style
#cat ipfilter | grep ^[^#] | grep...
bash apprecie moyennement le "|" qui est censé etre un OU, et si je le
fais précédé par un \ ça ne change rien...
Si quelqu'un pourrait m'aider la dessus...
De même, la recherche "grep Invalid$ ipfilter.dat" ne me renvoit rien..
(mais si je copie quelques dans un autre fichier, la commande fonctionne...)
Bref je suis assez perdu la dedans, donc si quelqu'un pouvait m'eclairer
sur l'utilisation "légèrement avancée" de grep et de ses expressions
regulières, je lui serais reconnaissant..
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Remi Moyen
On Thu, 31 Mar 2005, Ketchupy wrote:
Personnellement ça me paraissait pas trop compliqué.. mais les commandes suivantes : # grep (Invalid|AntiP2P) ipfilter.dat # egrep (Invalid|AntiP2P) ipfilter.dat
me renvoient "bash: syntax error near unexpected token `Invalid'"
Essaye tout simplement de mettre le motif grep entre guillemets :
grep "(Invalid|AntiP2P)" ipfilter.dat
De même, si dans un script ton motif est inclus dans un variable, genre $MOTIF, essaye :
grep "$MOTIF" fichier
En général, moi, ça me règle tous mes problèmes. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."
On Thu, 31 Mar 2005, Ketchupy wrote:
Personnellement ça me paraissait pas trop compliqué.. mais les commandes
suivantes :
# grep (Invalid|AntiP2P) ipfilter.dat
# egrep (Invalid|AntiP2P) ipfilter.dat
me renvoient "bash: syntax error near unexpected token `Invalid'"
Essaye tout simplement de mettre le motif grep entre guillemets :
grep "(Invalid|AntiP2P)" ipfilter.dat
De même, si dans un script ton motif est inclus dans un variable, genre
$MOTIF, essaye :
grep "$MOTIF" fichier
En général, moi, ça me règle tous mes problèmes.
--
Rémi Moyen
"Malgré les apparences, le temps est très varié à Nancy :
pluie, nuages, neige, brouillard, grêle, ..."
Personnellement ça me paraissait pas trop compliqué.. mais les commandes suivantes : # grep (Invalid|AntiP2P) ipfilter.dat # egrep (Invalid|AntiP2P) ipfilter.dat
me renvoient "bash: syntax error near unexpected token `Invalid'"
Essaye tout simplement de mettre le motif grep entre guillemets :
grep "(Invalid|AntiP2P)" ipfilter.dat
De même, si dans un script ton motif est inclus dans un variable, genre $MOTIF, essaye :
grep "$MOTIF" fichier
En général, moi, ça me règle tous mes problèmes. -- Rémi Moyen "Malgré les apparences, le temps est très varié à Nancy : pluie, nuages, neige, brouillard, grêle, ..."