Come cercare per contenuto su Ubuntu


8

Vorrei cercare l'intero server per contenuto. (file di testo)

Quando provo grep -rl "testo qui", si blocca.

Come lo faresti?

E quanto tempo impiega di solito?

Risposte:


17

È necessario specificare un file quando si utilizza il grepcomando. Con il comando che stai utilizzando, stai cercando nell'input standard ...

Prova grep -r "test" directory.


7
find / -name "*.txt" -exec grep "text here" {} \; -print 2>/dev/null

Che può essere spiegato in parole umane come:

  1. trova
  2. a partire da /
  3. in tutti i file denominati * .txt (le virgolette devono ignorare l'interpretazione della shell)
  4. con i risultati risultanti, eseguire quanto segue
  5. grep "prova qui"
  6. nel file {}
  7. end of exec (\;) ha superato la fine dell'istruzione
  8. stampa i file corrispondenti
  9. reindirizzare i messaggi di errore nel sink (poiché potresti non essere root, altrimenti sudo).

dice "trova: argomento mancante a 'grep'"
webnat0

funziona qui. come hai sostituito "test qui"?
Alain Pannetier,

1
@Daeyun: c'è solo una barra rovesciata.
In pausa fino a nuovo avviso.

1
@Dennis. Dipende dalla tua lingua madre. In Giappone e Corea, ci sono diversi set di caratteri in cui la barra rovesciata viene anche rappresentata come segno Yen o segno Wong (0x5c). Inoltre, dai un'occhiata a + 20E5. In passato ci sono stati diversi exploit in IIS in cui era possibile esplorare l'intero disco (dove IIS aveva la sua radice) di un PC semplicemente mescolando slash reale e false (altri unicode equivalenti convertiti nel piano ascii) e almeno uno che utilizza la sovrapposizione di solidus inversa.
Alain Pannetier,

0

dimentichi di specificare il tipo di file che vuoi cercare,
assicurati di accedere come root

cd /
grep -rl "text here" *  > /tmp/match.txt

questo richiederà molto tempo e puoi raccogliere i risultati in seguito controllando /tmp/match.txt


0

Il seguente comando cerca tutti i file che terminano con .txt nella directory di lavoro corrente e in tutte le sottodirectory:

find . -type f -name '*.txt' -exec grep -Hn "text here" {} \;

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.