Strona 1 z 1

[solved] Przesuwanie wierszy w Bashu

: 03 cze 2010, 00:25
autor: wujekk13
Mam plik o nazwie "myfile.txt", którego zawartość wygląda następująco:

Kod: Zaznacz cały

z=
-0.98287
y=
 0.18432
...
chciałbym przesunąć co drugi wiersz do góry, aby zawartość tego pliku wyglądała tak:

Kod: Zaznacz cały

z=-0.98287
y= 0.18432
....
Plik zawiera parzystą ilość wierszy, która może się zmieniać w zależności od wykonanych wcześniej obliczeń. Czy ktoś może pomóc w rozwiązaniu tego problemu?

Odp: Przesuwanie wierszy w Bashu

: 03 cze 2010, 01:07
autor: beluosus

Kod: Zaznacz cały

sed -n '1~2h; 2~2 { x; G; s/\n/ /; p}' myfile.txt

Odp: Przesuwanie wierszy w Bashu

: 03 cze 2010, 01:20
autor: wujekk13
Super. Dziękuję!!!
pozwoliłem sobie jeszcze dodać tryb "-i"

Kod: Zaznacz cały

sed -n -i '1~2h; 2~2 { x; G; s/\n/ /; p}' myfile.txt
i teraz jest tak jak chciałem.
Jeszcze raz DZIĘKUJĘ.

Odp: Przesuwanie wierszy w Bashu

: 03 cze 2010, 08:59
autor: azhag
krócej:

Kod: Zaznacz cały

sed -i '$!N;s/\n//' myfile.txt