Newsgroup: it.comp.os.linux.sys
Titolo: Concatenare Files => Windows e Linux

Salve,
ho un file chiamato ORIGINALE.TXT. (creato con notepad)
lo divido in 2 creandomi cosě 2 files ..... chiamiamoli alfa.txt e beta.txt
...
li uploado sul server (redhat) con winscp ...
da shell eseguo un cat alfa.txt beta.txt > gamma.txt
scarico il file gamma.txt in locale su windows (sempre con winscp) ...
bene, il file gamma.txt scaricato č la concatenazione di alfa + beta ...
e cioč mi ricreo ORIGINALE.TXT in quel modo ...
ma c'č un problema ... "ad occhio nudo" non si notano differenze ...
ma ORIGINALE.TXT e gamma.txt non sono *** identici *** !
se faccio un compare ***testuale*** risultano uguali ...
ma con windiff o con FC /b (binario) da DOS mi salta fuori il finimondo !!!
_____
per favore, qualcuno sa dirmi come unire alfa e beta,
ottenendo un file IDENTICO bit per bit a ORIGINALE.TXT ?!?
temo sia un problema delle diverse gestioni di win/linux dei CR / LF
 ..... roba del genere, boh
grazie !

 ottenendo un file IDENTICO bit per bit a ORIGINALE.TXT ?!?
Puo` essere che alfa e beta non possano piu` essere riuniti...
bye,
-- 
   Piergiorgio Sartor

 scarico il file gamma.txt in locale su windows (sempre con winscp) ...
Tiro a indovinare: il file ASCII trasferito assume EOL Unix (LF),
mentre l'originale ha EOL DOS (CR+LF), quindi ti ritrovi con due
caratteri come fine linea invece di uno.
Prova ad usare unix2dos per convertire il file in DOS da Unix.
Davide

 Puo` essere che alfa e beta non possano piu` essere riuniti...
e perché mai ? dopo che li divido, si odiano ? :-)

 Prova ad usare unix2dos per convertire il file in DOS da Unix.
hmmm ... unix ... ma anche su linux (?!?) .........
è un comando built-in di Unix oppure un utility a parte ?
in ogni caso, non posso fare post-elaborazioni ... ho bisogno che il
processo
avvenga in automatico da shell quando li concateno ...

 processo avvenga in automatico da shell quando li concateno ...
Aggiungilo alla concatenazione allora.
Davide

 e perché mai ? dopo che li divido, si odiano ? :-)
Magari il trasferimento da win a RH ha cambiato CR/LF in CR,
quindi il risultato risulta diverso.
Un punto da controllare e` la dimensione dei file, deve sempre
risultare consistente.
bye,
-- 
   Piergiorgio Sartor

 avvenga in automatico da shell quando li concateno ...
Allora, questo sarebbe da .iniziare, comunque sia una
possibilita` e`:
cat *.txt | unix2dos ...
La sintassi esatta di unix2dos non la ricordo,
ma piu` o meno dovrebbe funzionare.
bye,
-- 
   Piergiorgio Sartor

 quindi il risultato risulta diverso.
no ... ho controllato ... facendo un trasferimento binario, mi lascia tutto
come è.
provato generando MD5 oppure controllando direttamente i bytes e sizes ...
il problema sembra proprio la concatenazione ... non il transfer :-(

 Aggiungilo alla concatenazione allora.
hmm ... ok la provo ...
scusa la domanda sciocca, ma come posso eseguire concatenazione e darla in
pasto all'utility,
in un solo comando ?
qualcosa tipo con il | pipe ... o come diavolo si chiama ? :-)
esempio please ...

 Comunque RH lo supporta, credo proprio in unix2dos....rpm
Su SuSE è un'alias di recode:
 > alias unix2dos
alias unix2dos='recode lat1..ibmpc'
-- 
Cris Carampa (
spamto:cri...@operamail.com
)
"Poveri fanatici comunisti, noglobal e affetti dalla sindrome
anti-microsoft" (gli utenti Linux secondo un poster di ICOD)

allora ... dopo centinaia di prove (ormai ci scrivero' una tesi)
deduco qualcosa del genere :
quando faccio CAT A B > C ...
C, non è propriamente A + B ...
ma è A + (EOF) + B + (EOF) ...
almeno questo è quello che risulta analizzando i bytes ...
ecco perché mi si sballa tutto di una "postazione" !!!
e ci credo che poi un fc /b mi spara fuori un casino di bytes non
corrispondenti ...
insomma, non c'è modo di dire a quel maledetto CAT di unire
i files BIT per BIT senza toccare niente ?

 pasto all'utility, in un solo comando ?
Dipende da come funziona la tua versione di unix2dos, se non consente il
funzionamento da "filtro" puoi usare
cat primo.txt secondo.txt > total.txt; unix2dos total.txt
altrimenti
cat primo.txt secondo.txt | unix2dos > total.txt
Come qualcuno ha gia' fatto notare, in alcune distro unix2dos e' un
alias per recode, in tal caso puoi usare
cat primo.txt secondo.txt | recode ..pc > total.txt
Davide

 i files BIT per BIT senza toccare niente ?
Lo fa normalmente, non tocca proprio nulla...
Naturalmente a meno che la versione di "cat" che
stai usando non abbia un bug...
bye,
-- 
   Piergiorgio Sartor

ok ragazzi... arrivati a questo punto, ho tutte le informazioni per poter
scovare il problema :-)
continuerò con infinite prove e vedrò come risolverlo ...
vi ringrazio infinitamente ... per tutti i consigli e dritte !
p.s
in effetti, sembra colpa del notepad ...
anzi, a dirla tutta, finché splitto e riunisco sotto Windows, tutto torna ..
evidentemente Linux trova qualcosa in quei files splittati con notepad
che non va ...
qualche EOL .... CR/LF di troppo.
in ogni caso, risolverò di sicuro, magari usando un utility di splittaggio.
siete stati davvero gentili,
root # echo "un super bacio" > a tutti voi

 come testimone in una certa causa. <g>
E Stallmann si incazzera' come una vipera, ma chissenefrega...
Davide

 nuovi files.
Sbagliato!
Così facendo crei due nuovi file con tanto di  EOF.... quindi quando
concateni ti ritrovi un byte in più rispetto all'originale. Prova a usare
split per dividere il file in due parti, e poi usa cat per riunirli vedrai
che otterrai il risultato voluto.
Ciao.
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (
http://www.grisoft.com
).
Version: 6.0.529 / Virus Database: 324 - Release Date: 16/10/2003