Hinzufügen von text zwischen zwei mustern in der Datei mit sed-Befehl
Möchte ich hinzufügen, dass Einige große code zwischen zwei mustern:
File1.txt
This is text to be inserted into the File.
infile.txt
Some Text here
First
Second
Some Text here
Möchte ich hinzufügen, dass File1.txt Inhalte zwischen Ersten und Zweiten :
Gewünschte Ausgabe:
Some Text here
First
This is text to be inserted into the File.
Second
Some Text here
Kann ich Suche mit zwei mustern mit sed-Befehl ,Aber ich habe keine Ahnung, wie füge ich Inhalte zwischen Ihnen.
sed '/First/,/Second/!d' infile
Du musst angemeldet sein, um einen Kommentar abzugeben.
Seit
/r
steht für Lesen in eine Datei, Verwendung:Finden Sie einige Infos hier: Das Lesen in einer Datei mit der 'r' - Befehl.
Hinzufügen
-i
(das istsed -i '/First/r file1.txt' infile.txt
) für in-place-edition.Um diese Aktion durchzuführen, egal, der Fall der Zeichen, verwenden Sie die
I
mark, wie vorgeschlagen, in Sed benutzen, mit groß - /Kleinschreibung ignorieren, während das hinzufügen von text, bevor Sie einige Muster:Als angegeben in den Kommentaren, die obige Lösung ist nur den Druck einer bestimmten Zeichenkette nach einem Muster, ohne Rücksicht auf das zweite Muster.
Tun so, würde ich gehen für einen awk mit einer fahne:
Gegeben diese Dateien:
Lassen Sie den Befehl ausführen:
Fist
undSecond
betrachten Sie Einfach das unten Datei und was wäre der BefehlSome Text here
First
First
Second
Some Text here
ich bin nicht sicher, dass der code, den Sie erwähnt würde, erfüllen die Anforderung der Benutzer.awk
würde die Sache besser machen.awk
Variante mit Flaggen zu dieser. Vielen Dank für das heads-up!awk
code funktioniert perfekt. Dankich denke, Sie können versuchen, diese
awk
Geschmack:Hier ist ein Schnitt von bash-code, den ich schrieb, legen Sie ein Muster aus patt_file. Im wesentlichen mussten, löschen Sie einige, sich wiederholende Daten mit uniq dann fügen Sie einige Sachen wieder in. Ich kopiere die Sachen, die ich brauchen, um zurück über lineNum Werte, speichern Sie es auf past_file. Dann Spiel patMatch in die Datei, die ich hinzufüge, die Sachen zu.