[AWk] estrarre parole cinesi da un testo

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
ettore8888
Prode Principiante
Messaggi: 6
Iscrizione: lunedì 22 giugno 2015, 11:34
Sesso: Maschile

[AWk] estrarre parole cinesi da un testo

Messaggio da ettore8888 »

Ciao,
sto utilizzando AWk da poco e sto cercando di estrarre le parole cinesi da un testo scritto in italiano; tuttavia, non mi viene in mente nulla, qualche suggerimento?
grazie a tutti
Avatar utente
SuperStep
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 2037
Iscrizione: lunedì 19 dicembre 2011, 16:26
Desktop: Unity
Distribuzione: Ubuntu 16.04 LTS x86_64
Sesso: Maschile
Località: Somma Vesuviana (NA)

Re: [AWk] estrarre parole cinesi da un testo

Messaggio da SuperStep »

in genere le lettere di un certo tipo listate in sequenza, quindi potresti cercare dall'inizio alla fine dell'intervallo delle lettere cinesi.

esempio, supponendo (non e' questo il giusto intervallo) che partando dal valore utf-8 1580 e finiscano al valore 1742. puoi cercare tutti i caratteri che si trovano fra 1580 e 1742.
ubuntu 16.04 LTS 64-bit - Memoria: 31,3 Gib - Processore: Intel Core i7-5960X CPU @ 3.00 GHz × 16 - Grafica: AMD Radeon HD 7800 Series - Disco: SSD 256 GB x 4 (RAID 01)
Avatar utente
vaeVictis
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 4703
Iscrizione: venerdì 27 luglio 2012, 17:58
Desktop: Gnome
Distribuzione: Ubuntu 20.04 64bit

Re: [AWk] estrarre parole cinesi da un testo

Messaggio da vaeVictis »

Elimina tutte le lettere non cinesi nel testo, preparandoti psicologicamente a quando la Cina conquisterà il mondo :o
Scherzi a parte, io procederei in questo modo, magari usando il comando tr (trovi pacchi e pacchi di discussioni riguardo il comando tr)
Pirates arrrrrrrrrrr awesome!!!
«I fear not the man who has practiced 10000 kicks once,
but I fear the man who has practiced one kick 10000 times.»
ettore8888
Prode Principiante
Messaggi: 6
Iscrizione: lunedì 22 giugno 2015, 11:34
Sesso: Maschile

Re: [AWk] estrarre parole cinesi da un testo

Messaggio da ettore8888 »

Codice: Seleziona tutto

If($nf ~(/^[utf-8 1580][utf-8 1742]$/))
NF > 2
{ print $2}
una cosa del genere?
ettore8888
Prode Principiante
Messaggi: 6
Iscrizione: lunedì 22 giugno 2015, 11:34
Sesso: Maschile

Re: [AWk] estrarre parole cinesi da un testo

Messaggio da ettore8888 »

SuperStep [url=http://forum.ubuntu-it.org/viewtopic.php?p=4773526#p4773526][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:in genere le lettere di un certo tipo listate in sequenza, quindi potresti cercare dall'inizio alla fine dell'intervallo delle lettere cinesi.

esempio, supponendo (non e' questo il giusto intervallo) che partando dal valore utf-8 1580 e finiscano al valore 1742. puoi cercare tutti i caratteri che si trovano fra 1580 e 1742.
Il range dei caratteri cinesi unicode è 4E00 thru 9FFF (344 270 200 thru 351 277 277) così pensavo di eseguire >"\343" and <"\352" (per evitare di prendere qualsiasi codice UTF-8 da 4 ):


Codice: Seleziona tutto

{
f=0;
for ( i=1; i<=length; i++)

if(substr($0, i, 1)>"\343" &&substr($0, i, 1)<"\352")

print $f
però ci sono degli errori ...
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 6 ospiti