Ich versuche herauszufinden, wie Sie den letzten Eintrag einer Zeichenfolge in mehreren Konfigurationsdateien über einen Server finden. Jede der Saiten werden in der Datei /home/***usernamewouldbehere/public_html/typo3conf/localconf.phpWie finde ich die letzte Instanz einer Einstellung in einer Konfigurationsdatei?
Kurz gesagt - der letzte Eintrag in den Konfigurationsdateien werden in die Datenbank-Server zeigen die Anwendung nutzt - und Wir müssen wissen, welche Konten auf welchen Datenbankserver verweisen.
Während ich so etwas wie diese laufen kann -
grep "$_db_host" /home/*/public_html/conf/localconf.php
Es ist wirklich nicht viel helfen, weil es uns viel zu vielen Informationen gibt ... und nicht das, was wir wirklich brauchen.
Was ich wirklich wissen muss, ist der letzte Eintrag dieser Zeichenfolge $ _db_host = 'xx'; und sortieren sie in einer Exportdatei aus
Da die Konfigurationsdateien mehrere Einträge aufweisen (Beispiel unten)
$_db_host = 'localhost';
$_db_host = '10.0.1.234';
Es wäre toll, in einer Datei zur Liste all derer, die den Eintrag für ' localhost ' und dann alle diejenigen auflisten, die den Eintrag für '10 .0.1.234' haben (oder welchen Server es dort gibt), aber selbst wenn ich das manuell machen müsste, wäre das großartig.
Ich bin nicht sicher, wie man es bekommen Awk mit - ... und stecken wirklich
Was ich hoffe, für etwas, das geleitet werden würde als
db_host = localhost /home/username1/www/conf/localconf.php
db_host = localhost/home/username2/public_html/conf/localconf.php
db_host= '10.1.2.23' /home/username55/public_html/conf/localconf.php
folgt der Hoffnung, dass Sie hilft helfen Sie mir :-)
hmm k - lass mich versuchen, ein wenig klarer zu sein - und ich werde die Frage auch bearbeiten. Kurz gesagt - müssen Sie nur für alle localconf.php-Dateien auf dem Server wissen, auf die jede Datenbank zeigt - und in der Datei localconf.php können mehrere Einträge von _db_host sein - wir müssen nur die letzten - und auflisten wenn möglich, sortiere sie, damit wir wissen, welche wo zeigen - dh wir haben 40, die auf localhost zeigen und sie auflisten und dann wewe haben 20, die auf den db server 10.0.2.23 zeigen oder wo auch immer ... in der hoffnung hilft –
OK, es klingt wie etwas, basierend auf der letzten Variante in meiner Antwort würde sein, was Sie brauchen - es wird die letzte "$ _db_host" -Zeile aus jeder Datei, und dann wird dies um den Wert von $ _db_host, gruppieren sie für Sie. (Wenn Sie den db_host Wert zuerst wollen, und den "$ _db_host =" von der Ausgabe entfernen möchten, wäre wahrscheinlich am einfachsten ein awk Konstrukt zu verwenden, wie marcog suggeriert) – jsegal