• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Zeilen am Dateianfang einfügen

Hallo,

ich benötige ein Shellskript für folgende Aufgabenstellung:

In einem Ordner liegen mehrere Dateien. In alle mit der Endung .txt, deren Inhalt mehr als 4 Semikolon in einer Zeile hat, soll am Dateianfang ein ein paar Zeilen Text eingefügt werden.

Die betroffenen txt-Dateien haben jweils nur eine Zeile Inhalt, der beispielhaft so aussieht:
12321;lars;7435;baum;haus

Danach soll der Inhalt der Dateien aussehen:
=======================
===GG
===TTT
===YYY
=======================
12321;lars;7435;baum;haus

Wie kann man so etwas umsetzen?
 
Bash wäre mir lieber, da ich damit schon viel mehr gemacht habe. Letztlich ist dieses Problem ein Teil einer größeren Aufgabe. Ich kann dort auch Dinge einfügen wie perl -pi -e 's///'.
Woran es habert ist den Dateianfang zu identifizieren.
 
ich hab jetzt eine lösung für den dateianfang:

sed '1iAnfang' < testfile.txt

allerdings mus der TExt jetzt mehrere Zeilen sein. Vielleicht kann man das mit einem Here-Dokument lösen.?
 
A

Anonymous

Gast
danke admine

sonst hätte ich doch jetzt fast noch veröffentlicht wie man das mit vielen Dateien und dem vim über Script macht.
aber so .....

robi
 
Und der Rahmen drumherum könnte so aussehen:
Code:
for file in *.txt
do
  if grep -q ';.*;.*;.*;' "$file"
  then
    # Zeilen einfuegen
  fi
done
... das wäre einfachste Bash. Nur grep wird herangezogen.
 
Oben