Verwenden Sie den Befehl sed, um die kv-Konfigurationsdatei in Linux zu ändern

Verwenden Sie den Befehl sed, um die kv-Konfigurationsdatei in Linux zu ändern

sed ist ein Zeichenstromeditor unter Unix, also ein Streameditor. Er ist zeilenorientiert und verarbeitet in Zeileneinheiten. Gleichzeitig ist sed nicht interaktiv und verarbeitet nach der Ausführung die gesamte Datei.

Tägliche Konfigurationsdateien für Hintergrunddienste liegen meist in Form von Schlüssel-Werten vor, z. B. INI-Dateien, Toml-Dateien oder einige benutzerdefinierte Konfigurationsdateien. Wenn wir in einigen Fällen automatisierte Skripte schreiben müssen, um die Konfigurationsdateien zu ändern, können wir den sed-Befehl der Shell verwenden, um regelmäßige Übereinstimmungen und schnelle Änderungen durchzuführen, was sehr einfach und schnell ist und die mühsame Arbeit beim Schreiben in vielen „Hochsprachen“ reduziert. Im Folgenden werden hauptsächlich zwei häufige Konfigurationsänderungen und Befehlsreferenzbeispiele aufgeführt:

Konfigurationsdatei test.conf zum Testen

$ Katze test.conf 
Max. Verbindungen = 100
test.log_Pfad = "/tmp/test.log"
fsync=ein

So zitieren Sie Werte

#!/bin/bash
CONF=test.conf
setze_Schlüsselwert() {
  lokaler Schlüssel=${1}
  lokaler Wert=${2}
  wenn [ -n $Wert ]; dann
    #echo $Wert
    lokaler Strom = $ (sed -n -e "s/^\($key = '\)\([^ ']*\)\(.*\)$/\2/p" $CONF) # Wert mit einfachen Anführungszeichen, wenn [ -n $current ]; dann
      echo "Einstellung $CONF: $key = $value"
      Wert="$(echo "${value}" | sed 's|[&]|\\&|g')"
      sed -i "s|^[#]*[ ]*${Schlüssel}\([ ]*\)=.*|${Schlüssel} = '${Wert}'|" ${CONF}
    fi
  fi
}
set_key_value "max.Verbindungen" "1024"
set_key_value "test.log_pfad" "/data/logs/test.log"

Werte ohne Anführungszeichen

CONF=test.conf
setze_Schlüsselwert() {
  lokaler Schlüssel=${1}
  lokaler Wert=${2}
  wenn [ -n $Wert ]; dann
    #echo $Wert
    local current=$(sed -n -e "s/^\($key = \)\([^ ']*\)\(.*\)$/\2/p" $CONF) # Wert ohne einfache Anführungszeichenwenn [ -n $current ];dann
      echo "Einstellung $CONF: $key = $value"
      Wert="$(echo "${value}" | sed 's|[&]|\\&|g')"
      sed -i "s|^[#]*[ ]*${Schlüssel}\([ ]*\)=.*|${Schlüssel} = ${Wert}|" ${CONF}
    fi
  fi
}
set_key_value "fsync" "aus"

Zusammenfassen

Oben habe ich Ihnen erklärt, wie Sie die KV-Konfigurationsdatei mit dem Befehl sed unter Linux ändern können. Ich hoffe, es wird Ihnen helfen. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und ich werde Ihnen rechtzeitig antworten. Ich möchte auch allen für ihre Unterstützung der Website 123WORDPRESS.COM danken!

Das könnte Sie auch interessieren:
  • Detaillierte Erklärung des Linux-Befehls sed (empfohlen)
  • sed-Befehl, um die Zeile zu finden, in der sich das Schlüsselwort befindet, und das erste Zeichen davor zu löschen
  • Detaillierte Erklärung der Verwendung von Sed-Befehlen und regulären Ausdrucksmetazeichen
  • Linux-Tutorial zum Ersetzen von Zeichenfolgen mit dem Befehl sed
  • Zeigen Sie den sed-Befehl des Systemprotokolls von einem bestimmten Zeitraum bis zur Gegenwart an
  • Ein Shell-Befehl pro Tag Linux-Reihe von Textinhaltsoperationen - ausführliche Erklärung des sed-Befehls
  • Verwendung des sed-Befehls unter Linux
  • Zusammenfassung der Verwendung und Vorsichtsmaßnahmen des sed-Befehls unter Linux
  • Häufig verwendete sed-Befehle in Linux
  • So verwenden Sie den Befehl sed, um bestimmte Zeilen einer Datei effizient zu löschen

<<:  Umfassender Vergleich und Bewertung des Vue-Code-Hervorhebungs-Plugins

>>:  Tutorial zur Installation von MySQL 5.7.18 auf Mac OS 10.12

Artikel empfehlen

MySQL-Fallanalyse der Transaktionsisolationsebene

Inhaltsverzeichnis 1. Theorie SERIALISIERBAR WIED...

Detaillierte Analyse der MySQL MDL-Metadatensperre

Vorwort: Wenn Sie eine SQL-Anweisung in MySQL aus...

Detaillierte Erklärung des MySQL-Covering-Index

Konzept Wenn der Index alle Daten enthält, die di...

Schritte zum Wiederherstellen von Code aus einem Docker-Container-Image

Manchmal geht der Code verloren und Sie müssen de...

37 Tipps für ein gutes User Interface Design (mit Bildern)

1. Versuchen Sie, ein einspaltiges statt eines meh...

Erläuterung des Menüs „Entwicklertools“ in IE8

<br />In diesem Artikel wurden die verschied...

Zusammenfassung der Merkmale des SQL-Modus in MySQL

Vorwort Der SQL-Modus wirkt sich auf die von MySQ...