Wie finde ich Dateien, die Zeichenfolgen enthalten?

Wie finde ich Dateien, die Zeichenfolgen enthalten?

Ich habe es versucht:

grep "$1-2400000" /media/linux/DATADISK/flashka/

Es läuft und tut lange Zeit nichts. Gibt es eine andere Möglichkeit? Es ist nicht notwendig, das mit dem Terminal zu tun.

Antwort1

Ihnen fehlt ein , -rum „alle Dateien“ abzugleichen. Sie sollten wahrscheinlich einfache Anführungszeichen verwenden:

grep -r -l -F '$1-2400000' /media/linux/DATADISK/flashka/

Mit -lzeigt Ihnen grep nur Dateinamen an, nicht die Übereinstimmung in der Datei. -Fgrep sucht nach einer festen Zeichenfolge anstelle eines regulären Ausdrucks.

Wenn Ihre Dateinamen Leerzeichen oder andere Sonderzeichen enthalten, können Sie stattdessen Folgendes verwenden find:

find /media/linux/DATADISK/flashka/ -type f -exec grep -l -F '$1-2400000' {} \;

verwandte Informationen