Sperren von Dateien in Bash

Ich habe ein Problem damit, ein gutes Konzept zum Sperren von Dateien in bash zu finden.

Grundsätzlich möchte ich folgendes erreichen:

Datei sperrenDaten in der Datei einlesen (mehrmals)Mach Sachen mit den Daten.Schreibe neue Sachen in die Datei (nicht unbedingt bis zum Ende)Schalte diese Datei frei

Dies mit Flock zu tun, scheint mir nicht möglich zu sein, da der Dateideskriptor nur einmal an das Ende der Datei verschoben wird.

Auch das Erstellen eines Tempfiles schlägt fehl, da ich eventuell bereits gelesene Zeilen überschreiben kann, was auch nicht möglich ist.

Bearbeiten:
Beachten Sie auch, dass andere Skripte, die ich nicht kontrolliere, möglicherweise versuchen, in diese Datei zu schreiben.

Meine Frage ist also, wie ich in Schritt 1 eine Sperre erstellen kann, die sich über die Schritte 2,3,4 erstreckt, bis ich sie in Schritt 5 wieder entsperre.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage