Newsgroup: it.comp.lang.perl
Titolo: domande su elaborazione di una linea di testo.

Vorrei filtrare delle righe di testo di un file formato da linee con
caratteri "non testuali" da linee con caratteri testuali.
vorrei sapere:
1)come conoscere la lunghezza della linea.
2)quanti caratteri non alfanumerici ci sono nella riga
3)quanti caratteri alfabetici ci sono nella riga
4) come è possibile trasformare (ad esempio) questa riga:
*****e**gegw**33***5***h*********questa è la riga da salvare****
in 
questa è la riga da salvare
dove gli asterischi rappresentano i carattei non "alfanumerici"
In pratica devo estrapolare un vocabolario d'inglese che è stato unito con
un codice macchina.
Grazie in anticipo, Mario.

 un codice macchina.
Hai provato ad usare strings?
 
  $ man strings
 
  << strings - print the strings of printable characters in files... >>
ciao
Stefano

> Hai provato ad usare strings?
Grande!!!
Grazie!
Forse mi potrà servire...
ma non è così ovvio:
Il file è composto da parti che mi interessano (vocabolario) alternato da
parti che non mi interessano (codice macchina).
Filtrando con string il file potrei perdere una caratteristica che
potrebbe essermi utile per eliminare i caratteri che non mi servono: cioè
quella che i caratteri stampabili fra i caratteri non stampabili debbono
essere scartati.
Ti ringrazio per avermi risposto, proverò a filtrare il file con il
comnado string.
Mario.

*****e**gegw**33***5***h*********questa č la riga da salvare****
si butta tutto, perché tutto č "fra i caratteri non stampabili".
Chiarisci meglio l'aspetto e il contesto delle stringhe che vuoi
conservare, e qualcosa forse si trova. Anche sapere che tipo di file
binario devi filtrare potrebbe aiutare. In generale, devi simulare una
lettura continua, sicché cose come "la lunghezza della linea" non ti
interessano.
Per come la vedo io, comunque, tutti i metodi affidabili per estrarre
parole da un file binario prima o poi mettono in campo un vocabolario delle
parole che possono presentarsi; cosě hai al massimo falsi negativi (se il
vocabolario di confronto non č abbastanza completo), ma almeno mai falsi
positivi. Appena un po' piů sotto, ci sono i metodi sulle occorrenze
statistiche di lettere e gruppi di lettere (che vuol dire solo che il
vocabolario č stato usato prima, per calcolare le occorrenze). Basarsi sul
solo alfabeto della lingua č il metodo ovviamente meno affidabile (e anche
piů semplice). Strings credo che faccia qualche piccolo sforzo in piů, ma
non ho sinceramente mai guardato il codice.
Ciao.

 Chiarisci meglio l'aspetto e il contesto delle stringhe che vuoi
Forse il caso reale sarÃ  piÃ¹ esplicativo:
COSA VOGLIO FARE:
Voglio aumentare il mio vocabolario di inglese con un piccolo software
che mi permette, nel tempo, attraverso quei momenti che si butterebbero o
non sfruttati di imparare parole nuove... e perchÃš no! di creare un
vocabolario ad hoc per testi di inglese prima di leggerli...
insomma le applicazioni sono innumerevoli una volta che si ha un database
con parola-significato.
COME:
Ho un vecchio CD di un vocabolario inglese-italiano e italiano-inglese che
ha messo il suo vocabolario inglobato nel codice eseguibile.
un esempio piccolissimo del file Ãš riportato di seguito.
l'bbiettivo Ãš estrapolare il db parola-significato dal file.
sono stato piÃ¹ chiaro?
Grazie in anticipo, MArio.
PPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ
[...]
+---------
    Lmma7 ftsTagK  c? N s     ? ? ?    Lmma? ftsTag?  d? ? ?   v ? ? ?    Lmma? ftsTag?  e? ? #   ? 6 ? 3    Lmma? ftsTagS  f? V {   & ? ? ?    Pmma? ftsTag?  g? ? ?   ~ ? ? ?       Lemma? ftsTag?      L/   R2 ? ; Â°â  sâ  â  Â±    LÂ°? Â· ??e ?>Pâ  Â±iâ Œâ  ? R? ?? ?? N? ?? ?? J ? ? ? ? ? F ? ? ? ? ? B ? ? ? ? ? > ? ? ? ? ? : ? ? ? ? ? 6 ? ? ? ? ? 2 ? ? ? ? ? . =  ?  fe   h x W?? ? ? ? Pagina 4? ftsTitle?  ?? ? verride?       ? ftsKeywords? 
? k  aberrant [ab?er?rant] agg. aberrante.
aberration [ab?er?ra?tion] s. aberrazione.
to abet pass. e p.p. abetted 
v.tr
. (dir.) favoreggiare; rendersi complice di || to aid and abet, favoreggiare.
abetment [abet?ment] s. (dir.) favoreggiamento, complicit?.
abetter [abet?ter], abettor s. (dir.) favoreggiatore, complice.
abetting [abet?ting] s. (dir.) favoreggiamento.
[...]
abort s. (inform.) arresto, interruzione di esecuzione (di programma): abort routine, routine di abbandono.
to abort v.intr. 1 abortire 2 bloccarsi u 
v.tr
. 1 fare abortire 2 bloccare,  interrompere.
abortion [abor?tion] s. aborto.
abortionist [abor?tion?ist] s. chi procura aborti.
abortive [abort?ive] agg. (fig.) abortito, fallito, mancato.
to abound v.intr. (in, with) abbondare, essere ricco (di).
 ? @@ avv. 1 circa, pressappoco: at about nine, alle nove circa || that`s about right,                =
!  $0? -   L9Â°â  sTâ  Â±M \ Pâ €  â  ?? ?   L?Â°â  sTâ  Â±? ] ??  ??? ?   L?Â°â  sTâ  Â±? ^ ?    ,? )   F5ftstagI _ Lq  t?? }   F?ftstag? ` ??  ??? ?   L?ftsTag? a ?      ( ? %    L1 ftsTagE  b H m   p | ? y    L? ftsTag?  c ? ?   ? ? ? ?    L? ftsTag?  d ?       $ ? !    L- ftsTagA  e D i   l x ? u    F? ftstag?  f ? ?   ? ? ? ?    L? ftsTag?  g ?         ?      L) ftsTag=  h @ e   h t ? q       ?      L% ftsTag9  k < a   d p ? m    Ly ftsTag?  l ? ?   ? ? ? ?   Fr? ftstag?  m ?        ?      F# Â°â  sâ  â  Â±  ?? ? ?  = ? > " ? z @ ? A ? B > C R D Â° E z F ? G * H ? I ? J 2 K ? L ? M ? N ? O   P â ¬ Q ? R ? S : T ?    U  ?G   J Z W?p | ? ? ? â ŽzW    Pâ  Â±iâ Œâ   7? Â°â  sTiâ  â  e?  ?? ? â  ? â  i??â ¬â   â  â €â  si beâ Œe 2 iâ Œâ  orâ Œo, â  â  â  orâ Œo; â  â €â   e â  ? || â  o be â €p â  â Œd â  boâ €â  , essere â  â  zâ  â  o, iâ Œ
piedi; (Â°iÂ±.) essere coâ  pâ  eâ  â  â  eâ Œâ  e risâ  â  biâ  iâ  o â € prep. 1 iâ Œâ  orâ Œo â  , â  â  â  orâ Œo â   || â  hereâ  s soâ  eâ  hiâ ŒÂ± Â°â €â Œâ Œy â  boâ €â   her, câ  ? â  â €â  â  cosâ   di sâ  râ  â Œo iâ Œ â  ei 2 di, riÂ±â €â  rdo â  : â  o speâ  â   â  boâ €â   soâ  eoâ Œe, pâ  râ  â  re di â  â  câ €.; Iâ  â  â   â  hiâ Œâ   â  boâ €â   iâ  , ci peâ Œser? || â Žhâ  â   â  boâ €â   Â±oiâ ŒÂ± Â°or â   â Žâ  â  â  ?, che â Œe diresâ  i di â €â Œâ   pâ  sseÂ±Â±iâ  â  â  ?; â Žhâ  â   â  boâ €â   hiâ  ?, e â  â €i? (cosâ   hâ   deâ  â  o, dir? ecc.) 3 iâ Œâ  orâ Œo, iâ Œ
Â±iro per: doâ Œâ  â   â  eâ  â ¬e yoâ €r â  hiâ ŒÂ±s scâ  â  â  ered â  boâ €â   â  he rooâ  , â Œoâ Œ â  â  sciâ  re iâ Œ Â±iro â  e â  â €e cose per â  â   sâ  â  â Œzâ   4 coâ Œ, sâ € di: he
hâ  d â Œo â  oâ Œey â  boâ €â   hiâ  , â Œoâ Œ â  â ¬eâ ¬â   deâ Œâ  ro coâ Œ s? 5 â Œei pressi di, â ¬iciâ Œo â  : she â  â €sâ   â  iâ ¬e â  boâ €â   here, deâ ¬e â  biâ  â  re dâ   â  â €esâ  e
pâ  râ  i, â  â €i â ¬iciâ Œo 6 â  o be â  boâ €â  : (sâ  hÂ±.) essere occâ €pâ  â  o iâ Œ; (+ iâ ŒÂ°.) sâ  â  re per, essere iâ Œ prociâ Œâ  o di (Â°â  re â  â  co.): â Žhâ  â   is he â  boâ €â  ?, che cosâ   sâ  â   Â°â  ceâ Œdo?; I â Žâ  s â  boâ €â   â  o câ  â  â   yoâ €, sâ  â  â ¬o per â  eâ  eÂ°oâ Œâ  râ  i.
â  boâ €â  -Â°â  ce s. (Â°iÂ±.) â ¬oâ  â  â  Â°â  cciâ  .
â  boâ €â  -â  â €râ Œ s. dieâ  roÂ°roâ Œâ  ; (Â°iÂ±.) â ¬oâ  â  â  Â°â  cciâ  .
â  boâ ¬e â  â ¬â ¬. (di) soprâ  ; â  â  ss?; iâ Œ â  â  â  o: his rooâ   is â  boâ ¬e, â  â   sâ €â   câ  â  erâ   ? di soprâ  ; â  he sâ  y â  boâ ¬e, iâ   cieâ  o â  â  ss?; â   â ¬oice Â°roâ   â  boâ ¬e, â €â Œâ   â ¬oce dâ  â  â  â  â  â  â  o || â  s â  boâ ¬e, coâ  e soprâ   â € prep. soprâ  , â  â   di soprâ   di; oâ  â  re: â  boâ ¬e â  â  â  , soprâ  â  â  â €â  â  o || he is
Â±eâ  â  iâ ŒÂ± â  boâ ¬e hiâ  seâ  Â°, ? pieâ Œo di s?.
â  boâ ¬eboâ  rd [â  boâ ¬e?boâ  rd] â  Â±Â±.pred. â  perâ  o, â  eâ  â  e.
â  boâ ¬e-â  eâ Œâ  ioâ Œed, â  boâ ¬e-â Œâ  â  ed â  Â±Â±. sâ €ddeâ  â  o, sâ €â  â  eâ Œzioâ Œâ  â  o.
â  brâ  sioâ Œ [â  b?râ  ?sioâ Œ] s. â  brâ  sioâ Œe.
? ? ? ^ 2  ?? ? ? 6 ? 6
?? ?  = ? ?     ?   ?     Fre  Â°â  sâ  â  Â±3  > ? 6 [     â Œ ? â      Fâ  seâ Ž Â°â  sâ  â  Â±?  ? ?   ?  @ ? ? ?   6 ? ? ?   Fre? Â°â  sâ  â  Â±?  A ? ?     ? 2 ? /    Fâ  se; Â°â  sâ  â  Â±O  B ? D c  C ? â   â Ž  D ? ? ?  E ? ? ?

l'bbiettivo Ãš estrapolare il db parola-significato dal file.
Sì, ma purtroppo non è sufficiente per farsi un'idea precisa della
struttura, anche perché il contenuto è stato evidentemente rimaneggiato dal
tuo lettore di posta. In particolare, non mi è chiaro che cosa si possa
prendere come "caratteri non alfabetici", o se esistano caratteri
definibili con sicurezza "non alfabetici", o se i dati siano effettivamente
tutti in chiaro o tutti e soli quelli che si vedono in chiaro.
Ciao.

 dubbi.
Grazie per avermi risposto, Mario.

ha anche il significato delle parole?
Ho sparato a caso, ammetto. Ma, dico, si trova di tutto, vuoi che non ci
sia uno straccio di dizionario?
Ciao.