C’est ma première question, excusez-moi si cela a déjà été répondu. J’ai cherché mais n’arrive pas à trouver ce que je cherche.
J’ai une énorme quantité de texte qui a été exporté à partir d’une firebase database. Pour certains contenus d’atsortingbuts, je dois trouver chaque instance d’un espace suivi d’une lettre majuscule et remplacer simplement l’espace par un point-virgule (;).
Par exemple:
First one Second one Third one Fourth one
Devraient devenir:
First one;Second one;Third one;Fourth one
Utiliser Unix (Mac OS X) Ce qui suit renvoie simplement la ligne entière:
echo "First one Second one Third one Fourth one" | grep ' [AZ]'
Comment pourrais-je atteindre le résultat souhaité, s’il vous plaît? Toute aide ou pointeur serait très apprécié. Merci.
Utilisez sed
pour une telle tâche:
$ echo "First one Second one Third one Fourth one" | sed -Ee 's/ ([AZ])/;\1/g' First one;Second one;Third one;Fourth one
-E
option -E
est spécifiée pour utiliser des expressions régulières étendues. s/pattern/replace-ssortingng/g
trouve un motif et le remplace par la chaîne de remplacement g lobalement. [AZ]
correspond à l’alphabet majuscule. en entourant le motif avec (..)
, il peut être référencé plus tard dans replace-ssortingng.