Ich muss einige Zeilen aus meiner Dhcpd.conf-Datei von einem einfachen PHP-Skript löschen. Also versuche ich den Befehl sed zu benutzen. Am Terminal Ich habe diesen Befehl verwenden tryed von Zeile 1 bis 3 löschen und es funktioniert:sed Bash-Befehl auf PHP-Skript
sed -i '1,3d' pippo.txt
Das Problem ist, dass ich nicht verstehen kann, wie für Zeile numers einig PHP-Variable sed verwenden geben. Ich brauche so etwas wie:
sed -i '$var1,$var2d' pippo.txt
mir jemand mit dem richtigen sintax für diesen Befehl auf php pls helfen kann. Danke.
danke für die antwort. kann nicht verstehen, warum immer noch nicht funktioniert hat. $ var1 = 1; $ var2 = 2; $ output = shell_exec ('sed -i "$ {var1}, $ {var2}" pippo.txt'); –
Ihre äußersten Anführungszeichen sind einfache Anführungszeichen, daher wird alles Innere nicht erweitert. Um expandierende Interna zuzulassen, vertauschen Sie einfache und doppelte Anführungszeichen. Übrigens ist dein 'sed' Befehl sowieso falsch. Was versuchst du zu machen?? Nur um zu demonstrieren, verdoppelt das folgende nur die erste und die zweite Zeile (ohne jedoch irgendeine Ausgabe zu erzeugen). '$ var1 = 1; $ var2 = 2; $ output = shell_exec ("sed -i '$ {var1}, $ {var2} p' pippo.txt"); ' – Anubis
was ich tun muss, ist einige Zeilen aus einer Datei zu löschen. zum Beispiel muss ich von Zeile 2 bis Zeile 5 in der Datei durch sed-Befehl von einem PHP-Skript löschen. es funktioniert, wenn ich versuche, den sed-Befehl vom Terminal zu verwenden, der die Zeile angibt, aber wenn ich versuche, das mit der PHP-Variable zu tun, funktioniert mein Skript nicht. Keine Zeile wurde gelöscht. –