GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zeile NUR zu einer Datei hinzufügen, wenn sie sich nicht bereits in der Datei befindet

Angenommen, Sie möchten es am Ende der Datei:

LINE="nohup java -jar /mnt/fusion/nfs/labStats/LabInfoAutoLog.jar > /dev/null &"
FILE=/etc/rc.d/rc.local
grep -q "$LINE" "$FILE" || echo "$LINE" >> "$FILE"

Eine Option sind zwei Schritte:

grep -q "yourline" /path/file||sed -i '/..place../ a \the line' file

auch mit awk möglich,

Alle Zeilen im Array speichern, während des Speicherns, wenn die Zeile gefunden wurde, beenden. Andernfalls fügen Sie die Zeile in END{} hinzu Block an der richtigen Stelle.

P.S. Sie haben in der Datei nicht angegeben, wo diese Zeile hinzugefügt werden soll.


Linux
  1. So fügen Sie einer Datei in Linux Header- und Trailer-Zeile hinzu

  2. nano:Befehl nicht gefunden

  3. Wie füge ich in Bash nach jeder Zeile in einer Datei eine Zeichenfolge hinzu?

  4. Eine Zeile nur an eine Datei anhängen, wenn sie noch nicht existiert

  5. Bash:Zeichenfolge ohne Zeilenumbruch am Ende der Datei hinzufügen

So lesen Sie eine Datei Zeile für Zeile in Bash

Busy Box Datei zeilenweise lesen?

So fügen Sie eine Auslagerungsdatei unter Ubuntu 20.04 hinzu

Fügen Sie am Anfang jeder Zeile eine Präfixzeichenfolge hinzu

sed:Wie wird eine Zeile ersetzt, wenn sie gefunden wird, oder an das Ende der Datei angehängt, wenn sie nicht gefunden wird?

Shebang oder nicht Shebang