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

Details zur Datenanzeige der Vue3-Listenschnittstelle

Inhaltsverzeichnis 1. Beispiel für die Anzeige de...

Der vollständige Code der im Uniapp-Applet enthaltenen Radardiagrammkomponente

Effektbild: Der Implementierungscode lautet wie f...

Benutzerdefinierte Docker-Netzwerkcontainer-Verbindung

Inhaltsverzeichnis Vorwort -Link Benutzerdefinier...

So entwickeln Sie eine Progressive Web App (PWA)

Inhaltsverzeichnis Überblick Erfordern URL der An...

Vue nutzt Amap zur Realisierung der Stadtpositionierung

In diesem Artikel wird der spezifische Code von V...

Lösen Sie das Problem des Docker-Pull-Image-Fehlers

beschreiben: Installieren Sie die VM unter Window...

Implementierungsschritte zur Installation von RocketMQ im Docker

Inhaltsverzeichnis 1. Rufen Sie das Bild ab 2. Br...

Beispielcode zur Implementierung des Regentropfen-Animationseffekts mit CSS

Glasfenster Was wir heute erreichen werden, ist d...

Linux nutzt duale Netzwerkkartenbindung und Schraubendreherschnittstelle

Was ist eine Bindung? NIC-Bond ist eine Technolog...

Eine kurze Erläuterung des Sperrbereichs der MySQL-Next-Key-Sperre

Vorwort Eines Tages wurde ich plötzlich nach der ...

Realisierung baumförmiger Sekundärtabellen auf Basis von Angular

Erster Blick auf die Wirkung: Code: 1.html <di...

Konfigurieren Sie VIM als C++-Entwicklungseditor in Ubuntu

1. Kopieren Sie die Konfigurationsdatei in die Be...