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 , -r
um „alle Dateien“ abzugleichen. Sie sollten wahrscheinlich einfache Anführungszeichen verwenden:
grep -r -l -F '$1-2400000' /media/linux/DATADISK/flashka/
Mit -l
zeigt Ihnen grep nur Dateinamen an, nicht die Übereinstimmung in der Datei.
-F
grep 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' {} \;