Ich versuche, eine Textdatei in eine tabulatorgetrennte Tabelle zu konvertieren. Meine Textdatei sieht ungefähr so aus:
Dog
Cat
Fish
Lizard
Wolf
Lion
Shark
Gecko
Coyote
Puma
Eel
Iguana
Mit den Standardfunktionen zum Suchen und Ersetzen in Gedit oder LibreOffice ist es einfach, das Zeilenende durch eine Registerkarte zu ersetzen. Aber wenn ich nur die Wagenrückläufe gegen Tabs tausche, bekomme ich Folgendes:
Dog Cat Fish Lizard Wolf Lion Shark Gecko Coyote Puma Eel Iguana
Aber was ich tun muss, ist, dass es so aussieht:
Dog Cat Fish Lizard
Wolf Lion Shark Gecko
Coyote Puma Eel Iguana
Kann ich also jedes Zeilenendezeichen gegen eine Registerkarte mit Ausnahme jeder vierten Zeile austauschen?
Ich weiß nicht, ob diese Art der bedingten Iteration mit regulären Ausdrücken in einem Programm wie Gedit oder LibreOffice durchgeführt werden kann. Vielleicht muss dies also eine Art Befehlszeilenfunktion sein? Mir ist nicht einmal klar, mit welchem Tool ich am besten anfangen soll.
Aktualisieren:
Ich habe die folgenden Befehle ausprobiert:
sed 'N;N;N;s/\n/\t/g' file > file.tsv
paste - - - - < file > file.tsv
pr -aT -s$'\t' -4 file > file.tsv
xargs -d '\n' -n4 < inputfile.txt
Aber wenn ich versuche, die resultierende tsv
Datei in LibreOffice zu öffnen , sind die Spalten nicht ganz richtig. Ich bin nicht sicher, ob dies bedeutet, dass ich die oben genannten Befehle nicht korrekt ausführe oder ob ich in der LibreOffice-Importfunktion etwas falsch mache:
Nur als Referenz sollte das gewünschte Ergebnis folgendermaßen aussehen:
dos2unix
undunix2dos
.