
Kann ich zwei Textdateien vergleichen, indem ich vom Anfang jeder Zeile an N Symbole überspringe?
Zum BeispielDatei1:
2018-05-31 12:00:00 This is the first line of text.
2018-05-31 12:00:00 This is the second line of text.
2018-05-31 12:00:00 This is the third line of text.
2018-05-31 12:00:00 This is the forth line of text.
2018-05-31 12:00:00 This is the fifth line of text.
UndDatei2:
2018-05-31 12:00:01 This is the first line of text.
2018-05-31 12:00:02 This is the second line of text.
2018-05-31 12:00:03 This is the third line of text.
2018-05-31 12:00:04 This is the forth line of text.
2018-05-31 12:00:05 This is the fifth line of text.
Wenn ich zwei Dateien zeilenweise vergleiche, unterscheiden sie sich aufgrund der Sekunden im Zeitstempel.
Wenn ich jedoch die ersten 19 Zeichen vom Anfang jeder Zeile in beiden Dateien (Datum und Uhrzeit) überspringe, sind diese Dateien identisch. Wie mache ich das mit einem Shell-Befehl (Skript)?
Vielen Dank im Voraus.
Antwort1
Verwendung von cut
:
diff <(cut -c 20- file1) <(cut -c 20- file2)
Hinweis: Bei GNU funktioniert cut
die -c
Zeichenoption eigentlich mit Bytes, nicht mit Zeichen. Das sollte aber kein Problem sein, solange Ihre Ausgabe mit Datums-/Zeitstempeln und nicht mit Sonderzeichen beginnt.