Ciao a tutti! Non riesco a cercare stringhe di testo all'interno di file in formato "docx". Ho trovato riferimenti (in inglese) alle caratteristiche compresse degli attuali standard Microsoft ma nessuna soluzione. Altri riferimenti all'edizione con Open/Libre Office (che, a me, non crea problemi particolari). Ma la ricerca con grep (meglio se con un'interfaccia grafica come gnome-search) resta impraticabile. Ciao
5 su 6
mostra altri 1 commenti
|
Segui questa domanda
Via email:Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui
Via RSS:Basi di markdown
- *corsivo* o __corsivo__
- **grassetto** o __grassetto__
- collegamento:[testo](http://url.com/ "titolo")
- immagine?
- elenco numerato: 1. Foo 2. Bar
- per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
- è supportato anche semplice HTML
Tag:
domanda posta: 22 Jan '14, 14:22
domanda visualizzata: 2,762 volte
ultimo aggiornamento: 24 Jan '14, 17:04
Ciao a tutti!
Pare che il problema non sia semplice.
Infatti, il problema è medesimo nei sistemi Windows che non installino MS Office 2007-2013. Il motivo mi pare ben individuato nelle specifiche di PowerGrep:
http://www.powergrep.com/manual/xmpdocx.html
Se può interessare, PowerGrep, con WINE, si installa e funziona sul mio sistema Linux.
Per mia esperienza, ho provato sistemi Windows XP con Office 2000-2003 che malgrado gli aggiornamenti per la compatibilità, sia del sistema sia di Office, non trovano stringhe di testo nei nuovi formati Office malgrado Office (2000-2003) li editi e li salvi nei nuovi formati.
Una situazione che mi pare analoga a Open/Libre Office in sistemi Linux. E' assai fastidioso che, insieme ad Open/Libre Office, non sia possibile installare le librerie necessarie al sistema per la gestione dei nuovi standard Microsoft. Tanto fastidioso che un file salvato in formato "docx" da Open/Libre Office non viene più ritrovato (da grep).
Per l'indicizzazione dei dati uso Docfetcher (portable Linux-Windows). E Docfetcher non ha difficoltà circa i nuovi standard Microsoft (sia in Linux, sia in Windows).
Il problema della compatibilità tra Linux e standard Microsoft mi pare, però, ancor più serio ed esteso. Per capirsi: in una directory con 100 file di cui 10 contengono la stringa 'linux' grep trova solo 3 riscontri malgrado solamente 2 su 10 siano in formato MS .docx (Office 2007-2013) e gli altri 8 in foemato MS .doc. (Office 1997-2003).
Tornando alla domanda, esistono applicativi (linux nativi e senza indicizzazione) per la ricerca di stringhe di testo nei file MS Office?
Ciao
@karla: c'è un grosso errore in questa tua risposta. Quelli di Microsoft non sono "standard" ;)
Gli standard dei formati XML (docx, xlsx, ecc) vengono definiti dalle specifiche ISO e sono perfettamente integrati in Open/LibreOffice. Microsoft, di contro, li ha integrati completamente solo da Office 2013 in poi.
Tutti i file docx creati con versioni precedenti di Microsoft Office non rispettano gli standard e quindi puoi leggerli bene solo con MSOffice.
Può piacere o no, ma è la politica di Microsoft e noi non ci possiamo fare nulla, se non provare a usare sempre formati standard ;)
Ciao a tutti!
@enzotib
Ti ringrazio per la risposta e per il pregevole script. Francamente non lo ho provato. Perchè, chiedendo scusa se mi ripeto, il mio interesse è la ricerca di testo negli attuali standard Microsoft. E non nel formato PDF.
Pur volendo impiegare lo script, resta il problema di saper quale sia e dove sia il file da convertire. Una volta rintracciato il file per 'espressioni regolari' ci possiamo, indubbiamente, sbizzarrire con PDF, postscript, XML, etc.
Comunque, per essere ancor più franco, se dovessi (e, soprattutto, se potessi) fare "qualcosa d'altro" preferirei l'indicizzazione di DocFetcher. Che è rapida e sicura.
Da ulteriore ma non meno gradita considerazione del Moderatore dadexix86 ho appreso che "c'è un grosso errore in questa tua risposta. Quelli di Microsoft non sono "standard" ;)" Forse è pure vero. Ma più che indurre me, personalmente, a stracciarmi le vesti e battere la testa al Muro, credo nulla aggiunga e nulla tolga al problema. A prescindere da personali inclinazioni scientifiche (pur se, da taluno, ritenute "di religione") che, comprensibilmente, possono indurre a tacciar d'errore il riscontro di un problema oggettivo nell'utile impiego di un Sistema Operativo.
Mi ripeto, ancora: "un file salvato in formato "docx" da Open/Libre Office non viene più ritrovato (da grep)". Negli standard MS Office, Linux non riconosce le proprie creature. E ciò a prescindere da standard ISO, standard de facto e altre questioni legali, scientifiche, religiose, etc.
I metodi Microsoft sono noti. Ma io uso il computer per lavoro. E preferisco il "bere" all'"affogare". C'è un sacco di gente a cui non interessa come funziona il kernel. Vogliono, semplicemente utilizzarlo (Linus Torvalds).
Torniamo, se possibile, alla domanda: esistono applicativi (come PowerGrep e DocFetcher ma linux nativi e senza previa indicizzazione) per la ricerca di stringhe di testo nei file MS Office?
Ciao
@karla: questo è un sito di Q&A e ha le sue regole: dovresti usare i commenti o modificare la tua domanda per dare ulteriori informazioni: ricorda che le risposte corrispondono a proposte di soluzioni, e quindi solo in casi rari competono a chi ha posto la domanda.
Riguardo allo script, ho cancellato la mia risposta, dato che non c'era stata manifestazione di interesse. In ogni caso il formato PDF era utilizzato solo come formato intermedio e trasparente per l'utente finale. È chiaro che comunque sia la soluzione non è quello che ti interessa.
Con i .docx di MSOffice non ne sono certo.
Con quelli standard invece tracker dovrebbe funzionare appieno (così dicono gli sviluppatori).
Inoltre tracker è un progetto ben più ampio, che indicizza il contenuto di molti tipi di file diversi.
Per più info, qui viene spiegato cos'è Tracker e qui ci sono un po' di feature.