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