|
[+] Zamiana spacji - tr czy sed?
el_kolo - 13-01-2009 09:56
Witam, mam następujący problem. Posiadam bardzo duży plik DAT (kolo 5.5GB).
head plik.DAT
wyświetla wszystkie linie ze spacjami, jednak w edytorze (vi, nano) spacje widoczne są jako '^?'. Nie możliwe jest sortowanie po interesujących mnie kolumnach. W mniejszych plikach około 500MB podmieniłem spacje za pomocą PSPada, jednak plik 5.5GB jest nie do przełknięcia dla pspada. Próbowałem działać sedem i ,,tr'' ale moje wysiłki na nic się zdały. Ma ktoś jakiś pomysł na podmianę "^?" (widoczne w edytorze linuksowym, gdyż cat, head czy tail widzi wyświetlony tekst jako spację) na prawdziwe spacje?
lis6502 - 13-01-2009 10:04
Niekonieczne te spacje to ciąg znaków '^?'. Jak już ustalisz czym one są (najlepiej heksadecymalnie) to
cat plik dat | sed_który_zastąpi_^? >plikok.dat
Wykorzystaj \xnn, gdzie nn to heksadecymalna reprezentacja bajtu. Dla spacji będzie to \x20. Wrzuć może tutaj head plik.dat, jeśli nie jest za duże?
el_kolo - 13-01-2009 10:40
Niekonieczne te spacje to ciąg znaków '^?'. Jak już ustalisz czym one są (najlepiej heksadecymalnie) to
cat plik dat | sed_który_zastąpi_^? >plikok.dat
Wykorzystaj \xnn, gdzie nn to heksadecymalna reprezentacja bajtu. Dla spacji będzie to \x20. Wrzuć może tutaj head plik.dat, jeśli nie jest za duże?
Te spacje to w hexie 7F.
Dziękuję bardzo za pomoc. sed 's/\x7F/\x20;/g'
i śmiga jak szalone.
zanotowane.pldoc.pisz.plpdf.pisz.plminister.pev.pl
|