Próbuję przekonwertować plik tekstowy na arkusz kalkulacyjny oddzielony tabulatorami. Mój plik tekstowy wygląda mniej więcej tak:
Dog
Cat
Fish
Lizard
Wolf
Lion
Shark
Gecko
Coyote
Puma
Eel
Iguana
Dzięki standardowym funkcjom wyszukiwania i zamiany w Gedit lub LibreOffice łatwo zastąpić koniec linii tabulatorem. Ale jeśli po prostu zamienię zwrot karetki na tabulatory, otrzymam to:
Dog Cat Fish Lizard Wolf Lion Shark Gecko Coyote Puma Eel Iguana
Ale muszę to zrobić tak:
Dog Cat Fish Lizard
Wolf Lion Shark Gecko
Coyote Puma Eel Iguana
Czy mogę zamienić każdy znak końca linii na tabulator oprócz każdej czwartej linii?
Nie wiem, czy tego rodzaju warunkową iterację można wykonać za pomocą wyrażeń regularnych w programie takim jak Gedit lub LibreOffice, więc może to musi być jakaś funkcja wiersza poleceń? Nie jestem nawet pewien, jakie jest najlepsze narzędzie na początek.
Aktualizacja:
Próbowałem następujących poleceń:
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
Ale kiedy próbuję otworzyć wynikowy tsv
plik w LibreOffice, kolumny nie są w porządku. Nie jestem pewien, czy to oznacza, że nie wykonuję poprawnie powyższych poleceń, czy też robię coś złego w funkcji importu LibreOffice:
Dla porównania pożądany wynik powinien wyglądać następująco:
dos2unix
iunix2dos
.