2017-08-26 1 views
1

Ich habe einige Dateien namens savedsearches.conf in mehreren Verzeichnissen, ich muss wissen, in welcher Savedsearches.conf eine Zeichenfolge vorhanden ist (zB "search1". Ich habe versucht mit BefehlWie finde ich einen Text in einigen Dateien mit dem gleichen Namen

find /opt/splunk/ -name "savedsearches.conf" -exec grep -i "search1" {} \; 

aber auf diese Weise sehe ich nur die Texte, die „search1“ enthält, aber ich weiß nicht, den Pfad der Datei, die den Text enthält.

ich so etwas wie Pfad möchten, Dateinamen und Zeichenkette Ist es möglich?

+0

Eine solche zu verwenden, Fragen gehören zu https://superuser.com/ – Toto

Antwort

1

Verwenden Sie -H Option wit GNU grep:

find /opt/splunk/ -name "savedsearches.conf" -exec grep -iH "search1" {} \; 

Beispiel Ausgabe:

/opt/splunk/savedsearches.conf:search1 
+0

Perfekt! Vielen Dank –

+1

Wenn Sie diese Antwort mögen, markieren Sie sie bitte als akzeptiert, damit andere Leute wissen, dass Ihr Problem gelöst ist. –

0

Mit einzelnen grep:

grep -rH 'search1' /opt/splunk/ 
  • -H - drucken Sie das fil ename für jedes Spiel

  • -r - für jedes Verzeichnis Operanden, lesen und verarbeiten alle Dateien in diesem Verzeichnis rekursiv

0

Dies ist ein perfektes Beispiel ist btool

/opt/splunk/bin/splunk btool savedsearches.conf list — debug | grep search1

Verwandte Themen