Ich bin neu in Linux. Ich muss eine .conf
Datei nur über das offene Terminal bearbeiten und verwende keine Texteditoren. Das heißt, kann ich einer Konfigurationsdatei von einem offenen Terminal aus Wörter und Sätze hinzufügen?
Beispiel: command /home/.../file.conf -add 'abcd'
in die 23. Zeile und so weiter. Und zum Schluss, speichern Sie es.
Ist es möglich, ein bestimmtes Wort in dieser Konfigurationsdatei zu suchen und der nächsten Zeile dieser Konfigurationsdatei neuen Text hinzuzufügen, indem nur der Befehl verwendet wird?
command-line
text
editing
user259060
quelle
quelle
sed
kann kommen, um zu helfen.Antworten:
Normalerweise mache ich das so, wenn ich mein Skript programmiere, um dasselbe zu tun, was Sie verlangen, aber programmatisch.
Voila! Du hast es. Wichtig zu beachten
>>
bedeutet, dass eine neue Zeile zu einer vorhandenen Datei hinzugefügt wird, während>
einfach alles überschrieben wird.quelle
Das Hinzufügen von Wörtern und Sätzen zu einer Konfigurationsdatei über ein offenes Terminal ist mit sed problemlos möglich.
Fügt in Zeile 23 den Text
abcd
in die Datei einfile.conf
-i
führt die Änderung direkt in der Datei durchfile.conf
.Wenn Sie dann verwenden möchten
awk
:Im Folgenden wird eine Zeile nach SearchPattern hinzugefügt.
Es fügt eine Zeile unter jeder Zeile, die SearchPattern enthält, neuen Text ein.
Um zwei Zeilen hinzuzufügen, können Sie a verwenden
\
und eine neue Zeile eingeben, während Sie Neuen Text eingeben.quelle
Sie können auch den
printf
Befehl verwenden.Hinzufügen von Zeilen zu Ihrer Datei
Die Datei überschreiben
quelle
Anmerkungen:
Wie es funktioniert:
inputfile
zum Lesen der Eingabezeilen, clearoutputfile
und open zum Schreiben der Ausgabezeilenquelle
Ich habe mit dem
ed
Befehl eine Lösung für meine eigene Frage gefundenText kann 27 Zeilen enthalten. Sie können 27 Zeilen aus einer Textdatei kopieren und 27 Zeilen in Ihre Konfigurationsdatei einfügen. Ich muss den
ed
Befehl jedoch gleichzeitig ausführen, um der gleichen Konfigurationsdatei mehr Text hinzuzufügen.quelle