Expression rationnelle Perl pour agir sur un fichier à partir de la ligne de commande
Dans un fichier, disons xyz.txt je veux remplacer le modèle de n'importe quel nombre suivi d'un point exemple:1.,2.,10.,11. etc.. avec un espace.
Comment composer une commande perl en ligne de commande pour agir sur le fichier pour faire la-dessus, ce qui devrait être l'expression régulière à utiliser ?
S'Il Vous Plaît Aider
Merci.
OriginalL'auteur Jim | 2010-12-05
Vous devez vous connecter pour publier un commentaire.
Ce doit être un Perl oneliner?
Le Perl en ligne de commande options:
-i
est utilisé pour spécifier ce qui se passe pour le fichier d'entrée. Si vous ne lui donnez pas l'extension de fichier, le fichier d'origine est perdue et remplacée par le Perl munged de sortie. Par exemple, si j'avais ça:Le fichier d'origine sera stockée avec un
.bak
suffixe et <nom de fichier> lui-même contiendra votre sortie.La
-p
moyen de joindre votre programme Perl dans une impression de boucle qui ressemble un PEU comme ceci:C'est un peu explication simplifiée de ce qui se passe. Vous pouvez voir la réelle perl boucle en faisant un
perldoc perlrun
à partir de la ligne de commande. L'idée principale est qu'il permet d'agir sur chaque ligne d'un fichier commesed
ouawk
.La
-e
contient tout simplement votre commande Perl.Vous pouvez aussi faire un fichier de redirection de trop:
L'utilisation des guillemets "" pour joindre l'expression de chaîne si vous utilisez Active Perl sous windows CMD, ou il ne fonctionnera pas. Juste testé dans mon windows 10 de ligne de commande.
OriginalL'auteur David W.
Réponse (pas testé):
perl -pie
car alors il épeler un mot, mais il n'a pas d'importance.rien après le i (à l'exception d'un espace) n'est pas perl option, mais plutôt que le suffixe de vos noms de fichier de sauvegarde, avec un espace pour me perl pour ne pas créer des fichiers de sauvegarde - qui est ce que vous voulez probablement si vous êtes dans un dépôt git). Donc, tarte est à la recherche pour le premier argument suivant pour être le fichier de commandes perl que vous souhaitez exécuter.
OriginalL'auteur Colin Fine
Les deux
et
ne peuvent pas s'exécuter sur mon système.
- Je utiliser l'ordre suivant:
OriginalL'auteur IFQ