konverze win/unix ascii files
Alexandr Malusek
malusek na hroch.ujf.cas.cz
Pondělí Říjen 23 14:42:20 CEST 2000
jan.stanicek na ufacex.md (Jan Stanicek) writes:
> Na konverzi konce radku mam napsany tenhle skriptik v
> perlu. Vzhledem k tomu,ze je to jedna z mala veci,kterou jsem si
> napsal,rad si vyslechnu pripominky, at se taky neco naucim.
> ...
> while ($radek = <DATA> ) {
> chomp ($radek);
> $vystup=substr($radek,0,-1);
> print "$vystup\n";
> }
S MS-DOSem jsem skoncil pred mnoha lety, nicmene pokud si to spravne
pamatuji, tak znak ^Z se tam muze pouzit jako ukoncovac souboru pro
textove (nikoliv binarni) soubory.
Takze je na libovuli MS-DOS programatora, jestli pri kopirovani
textoveho souboru S1:
1 2 ^Z 3 4
do textoveho souboru S2 prekopiruje jen
1 2
nebo cely soubor.
MS-DOSove textove soubory tedy mohou obsahovat balast, ktery v Unixu
muze vadit. Pri konverzi do Unixu je nutne u textovych souboru
ignorovat vse za znakem ^Z (vcetne tohoto znaku).
Pokud vim, tak v MS-Win (vcetne NT, ...) se v tomto smeru z duvodu
zpetne kompatibility nic nezmenilo. Je to velmi nechutna koncepce a
jeden z mnoha duvodu, proc mi derivaty MS DOSu nevyhovuji pro praci s
daty.
Pozn: Nektere konverzni utility ^Z neberou v uvahu. To je ale chyba,
nikoliv vlastnost. MS-DOSovych textovych souboru koncicich napr. serii
deseti ^Z jsem u kolegu videl spousty - nejedna se o zadne plane
teoretizovani.
--
A. Malusek (malusek na ujf.cas.cz)
UJF AV CR
Další informace o konferenci Linux