Software per la ricerca di testo in file


Risposte:


19

Ce n'è uno molto bello fornito con Ubuntu fuori dalla scatola.

  1. Apri il Dash ( Supertasto o il pulsante Ubuntu) e inizia a digitare fino a trovareSearch for Files

    inserisci qui la descrizione dell'immagine

  2. Quanto sopra è per Unity, l'ambiente desktop predefinito in Ubuntu. In ambienti guidati da menu, vai a Applications-> Accessories->Search for Files

    inserisci qui la descrizione dell'immagine

  3. Espandi la Select more optionssezione e inserisci il testo da cercare nel Contains the text:campo di inserimento.

    inserisci qui la descrizione dell'immagine

Caratteristiche:

  • 100% GUI
  • Puoi cercare nomi di file o contenuti
  • Cerca nelle sottocartelle.

Dato il tuo scenario (nessun comando da terminale, interfaccia semplice da usare) non credo che ci sia un'opzione migliore.

PS: nel Contains the text:campo di input il '.' il personaggio è un jolly. Per sfuggire devi usare '[]'. Ad esempio: digitare Contains the text: [.]myFunctionper cercare .myFunction


sì, non ho visto che potrei aggiungere dettagli
Santosh Linkha

1
sì, puoi ... basta fare clic su "seleziona più opzioni" e puoi avere non solo "Contiene il testo" ma anche tonnellate di altre opzioni di ricerca (data, utente, misuratore di file, persino espressioni regex). Ho anche perso questa piccola bestia per molto tempo ... vorrei che fosse integrata in Nautilus (un po 'come F3 in Windows Explorer)
MestreLion

questo è lo stesso che avevo consigliato primagnome-search-tool
Mikl

@ Ottaviano: grazie per aver fornito gli screenshot!
MestreLion

@Mikl: è lo stesso risultato, la differenza sta nell'approccio su come invocarlo: la tua soluzione iniziale era focalizzata sull'invocazione da riga di comando (o ALT + F2) e solo brevemente menzionata poteva essere trovata anche nel menu. Non ho detto dove , o quale fosse il nome del programma nel menu. Solo dopo aver pubblicato la mia risposta, hai modificato la tua per fornire il percorso e il nome del menu. Per i nuovi arrivati, un approccio orientato al menu è sempre meglio dell'invocazione alla CLI. ALT + F2 deve essere utilizzato solo quando il software non è disponibile nel menu.
MestreLion

11

uso

 grep -nr <your text> .

inserisci il testo che vuoi trovare nel <tuo testo>


sembra nelle sottocartelle
Santosh Linkha

experimentx@workmateX:/var/www/testingzedn$ grep -nr application.inista impiegando un'eternità ... sono errato
Santosh Linkha

ho bisogno del punto. , esaminerà la cartella con -r
wizztjh

grep -nr application.ini.
wizztjh,

9

Puoi usare

find . -name '*.*' -exec grep -Hn 'text to find' '{}' \;

-name '*. *' o '* .txt' (usa la maschera del file qui)
'text to find' (posiziona il testo che vuoi trovare qui)

find . -type f -exec grep -Hn 'text to find' '{}' \;

se vuoi cercare tutti i file


Per tutti i file, non utilizzare -name '*.*'poiché i file non hanno sempre un'estensione. Utilizzare -type finvece (per cercare in tutti i file). Sostituisci {}con "{}", altrimenti i nomi dei file con spazi bianchi non verranno cercati correttamente.
Lekensteyn,

@Lekensteyn ho modificato il mio post. ma ho fatto alcuni test con file con spazi bianchi nei nomi e nessun errore durante l'utilizzo di {} senza virgolette.
Mikl

appena provato anche tu e hai ragione, lo spazio bianco non è un problema. In alcune shell, le virgolette potrebbero essere ancora necessarie per impedire l'espansione della shell. Da man find: "Entrambe queste costruzioni potrebbero aver bisogno di essere salvate (con un` \ ') o quotate per proteggerle dall'espansione della shell. "
Lekensteyn,

9

Strumento GUI (grafico):

gnome-search-tool

puoi trovarlo nel menu principale di Ubuntu

Menu -> Accessories -> Search for Files

o eseguirlo usando il tasto di scelta rapida ALT + F2


1
Solo un aggiornamento per le versioni più recenti di Ubuntu: sull'interfaccia Unity (Ubuntu 12 o superiore), fai clic su Dash Home (la prima icona sulla barra degli strumenti), digita "cerca" e seleziona l'applicazione "Cerca file".
josircg,

9

Sono un fan di searchmonkey (GPL, gratuito, multipiattaforma, abbastanza leggero sulle risorse e molto veloce).

inserisci qui la descrizione dell'immagine


Sembra buono. Lo proverò su altre piattaforme poiché la risposta più votata si adatta alla mia fattura su Ubuntu.
Amol Gawai,

Sembra che non funzioni sui sistemi operativi a 64 bit (ho riscontrato il problema con Win 7 64 bit). Questo è un rompicapo per me dato che uso sistemi operativi a 64 bit ovunque. Sembrava promettente però.
Amol Gawai,

@AmolGawai funziona perfettamente su Ubuntu 64 bit qui ...
Aquarius Power

4

Regexxer ti permetterà di cercare testo nei file. Non sono sicuro di cosa intendi per "nelle cartelle".

inserisci qui la descrizione del link


3

Ricerca grafica:

in Kubuntu apri Dolphin, quindi Modifica-> Trova (Ctrl + F)

passa dal nome file al contenuto e regola da dove cercare.


2

Recoll esegue l'indicizzazione ed è possibile effettuare ricerche full-text di documenti ed e-mail.


Esaminare 50.000 cartelle è un problema: D se non si indicizzano i dati, quindi se non è possibile acquistare un disco SSD, installare qualsiasi strumento di indicizzazione prima di perdere tempo a cercare file. Fai il lavoro una volta. Anche se non è una risposta alla domanda attuale è un buon punto di vista.
m3nda,

1

Ho confrontato tre dei suggerimenti qui con 64 bit 16.04 Kubuntu:

  1. Oggigiorno Searchmonkey funziona con Ubuntu a 64 bit. È simile a regexxer. Sembrava veloce, ma naturalmente è molto più lento della ricerca basata sull'indice.
  2. Cerca file e Alt-F2 non funzionano con la versione Ubuntu di KDE.
  3. La mia raccomandazione è Recoll e ho aggiunto alcune istruzioni per l'installazione. Per me, l'installazione predefinita supportava PDF (prova questo!), DOCX, TAR, ZIP ecc.

    sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner"
    sudo apt-get install recoll antiword
    recoll
    
  4. La prima riga probabilmente non è richiesta: aggiunge il repository di installazione dei partner.

  5. Antiword è facoltativo. È necessario per supportare file .doc meno recenti.
  6. Abilitare i seguenti collegamenti simbolici e la directory principale da Preferenze preferenze, se necessario.
  7. Crea cron job per l'indicizzazione di Recoll utilizzando la GUI o fai in modo che si avvii ad ogni login.
  8. Modificare l'impostazione Richiama nelle preferenze dall'inglese a Tutte le lingue, se appropriato per te.
  9. Inizia l'indicizzazione, almeno per me è stato sorprendentemente veloce e non ho utilizzato tutte le risorse, quindi sono stato in grado di continuare a utilizzare il laptop.
  10. Finora ho riscontrato un bug da Recoll: se cerchi il nome del file con "PST", non lo trova anche se è in maiuscolo. "pst" funziona e trova sia i nomi maiuscoli che minuscoli.
  11. Scopri di più sul richiamo da https://www.lesbonscomptes.com/recoll/features.html

Se si desidera aggiungere il supporto per i file PST di Outlook, è necessario eseguire anche quanto segue.

    sudo apt-get install readpst
    mkdir ~/PST
    find -L ~ -name "*.pst" -print | awk "{ printf \"%s%s %s%s%s %s\\n\", \"mkdir ~/PST/\", \$1, \"; readpst -o ~/PST/\", \$1, \" -D -j 4 -r -tea -u -w\", \$1 }" > /tmp/myPstFiles
    cat /tmp/myPstFiles
    chmod 755 /tmp/myPstFiles
    /tmp/myPstFiles
  1. Cambia la directory principale da ~ a / se necessario nel comando find.
  2. Il mio script find ha un bug: crea subito una struttura di directory troppo lunga. Ma è stato più facile per me modificare manualmente il file temporaneo piuttosto che trovare una soluzione a questo. L'obiettivo principale era che questo funzionasse per diversi file PST e lo fa.
  3. Scopri di più su Readpst da http://www.five-ten-sg.com/libpst/rn01re01.html e https://blog.robseder.com/2015/08/29/working-with-a-pst-file -in-linux /

0

Voglio davvero introdurre uno strumento basato sulla libreria ncurses per fornire l'interfaccia utente basata su testo. Lo strumento chiamato NCGREP (grep basato su ncurses) serve principalmente per il testo di ricerca nella cartella specifica. Spero che questo sia quello che vuoi. Questa fonte dello strumento è stata ospitata su github.com, vedere di più su https://github.com/ncgrep/ncgrep

inserisci qui la descrizione dell'immagine
Clicca sull'immagine per vedere l'animazione della demo

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.