Je vais mieux expliquer ma situation avec un exemple. Considérant un fichier httpd.conf dans lequel j'ai besoin de changer la racine du document. Donc d'abord j'ai besoin de trouver le ServerName puis changer la racine du document, donc je crois ici j'ai besoin de deux regexp mais je ne sais pas comment le faire? Est-ce que quelqu'un peut m'aider? Ou dois-je juste trouver le ServerName et faire une note? du numéro de ligne puis continuer à trouver le DocumentRoot en utilisant un script? Merci.Trouver une séquence avec une expression régulière puis trouver une seconde suivante ou quelques lignes
Répondre
Je ne suis pas sûr, mais peut-être quelque chose comme ça va marcher pour vous.
cat /etc/apache2/http.conf | sed 's/.*ServerName=.*/ServerName=YourNewLocation/' > tmp
mv tmp /etc/apache2/http.conf
Désolé, je n'ai pas lu Votre question avec attention ... Ma réponse ne va pas aider – kokosing
Je ne sais pas pourquoi vous devez rechercher ServerName d'abord, mais voici comment vous pouvez changer documentroot
awk '/^DocumentRoot/{$0="DocumentRoot /new/root" } {print}' /path/httpd.conf > temp
mv temp /path/httpd.conf
Ou si vous faites usage de la valeur ServerName pour créer votre nouvelle racine,
awk '$1~/ServerName/{servername=$2}
/^DocumentRoot/{
$0="DocumentRoot "servername # create your new root here.
}
{print}
' /path/httpd.conf > temp
mv temp /path/httpd.conf
Votre version va changer tous les DocumentRoot présents dans le fichier de configuration. C'est la raison pour laquelle je dois trouver l'entrée d'un hôte virtuel en utilisant le nom du serveur et la modification de son DocumentRoot. Merci pour votre réponse. – mike
- 1. Expression régulière pour trouver une expression régulière?
- 2. Trouver un littéral avec une expression régulière
- 3. expression régulière pour trouver des valeurs qui ne commencent pas avec une séquence de caractères particulier
- 4. Trouver une expression régulière qui correspond à une chaîne?
- 5. Expression régulière trouver une phrase pas dans une balise HTML
- 6. Regex pour trouver des lignes contenant la séquence mais ne contenant pas une séquence différente
- 7. Comment écrire une expression régulière pour trouver le modèle suivant?
- 8. Java Expression régulière pour trouver plusieurs lignes d'une longueur spécifique
- 9. Expression régulière pour trouver l'ID du travail dans une chaîne
- 10. Trouver le dernier groupe dans une expression régulière
- 11. Expression régulière pour trouver une chaîne dans le tampon Expect
- 12. Comment faire une expression régulière pour Dreamwaver trouver et remplacer?
- 13. Construire une expression régulière pour trouver l'id dans un href
- 14. Comment trouver une virgule qui n'est pas entre parenthèses dans une expression régulière .net?
- 15. ligne Obtenir une expression régulière
- 16. problème avec une expression régulière en PHP
- 17. Expression régulière: Commencer par la seconde
- 18. Expression régulière correspondant à tout sauf une expression régulière donnée
- 19. Créer une expression régulière avec preg_match
- 20. PHP Expression régulière pour trouver @someone
- 21. expression régulière "contient" une autre expression régulière
- 22. Une question expression régulière
- 23. Expression régulière: trouver une plage à l'exception d'une lettre ou d'une plage
- 24. Comment trouver des valeurs manquantes dans une séquence avec PHP?
- 25. expression régulière: Trouver l'URL de l'étiquette d'ancrage
- 26. Correspond à une requête à une expression régulière dans SQL?
- 27. Expression régulière correspondant à une expression régulière valide
- 28. Aide avec une expression régulière Emacs
- 29. Comment trouver toutes les correspondances avec une expression régulière dans Perl?
- 30. Trouver des balises dans la chaîne de requête avec une expression régulière
DocumentRoot est-il toujours après ServerName? La syntaxe permet de spécifier DocumentRoot et ServerName dans n'importe quel ordre tant qu'ils se trouvent dans le même sblock VirtualHost. –
Oui, vous avez raison, mais dans mon cas, le ServerName vient toujours en premier. – mike