Ich versuche, mit dem Befehl "find" Dateien in meinem Home-Ordner zu finden. Wenn ich jedoch versuche, dies auszuführen, erhalte ich keine Ergebnisse:
locate -i -l 4 --regexp '^\/home\/jack\/[A-Za-z0-9\/\ ]*(My.)*$'
Ich habe es auch versucht, ^\/home\/jack\/^(?!\.)[A-Za-z0-9\/\ ]*(My.)*$
aber das liefert auch keine Ergebnisse.
Die Datei, nach der ich suche, um sie zu testen, ist /home/jack/Music/Foals/My Number.flac
Ich möchte die Ergebnisse versteckter Dateien von meiner Suche ausschließen.
(My.)*
soll tun? My.*$
funktioniert. Sie müssen ()
in grundlegenden REs entkommen .
--regexp
Nimmt aber eine grundlegende Regex. Versuchen Sie, --regexp
zu --regex
(nein p
) zu wechseln . Die Manpage sagt, dass --regex
es einen erweiterten Regex-Abgleich gibt.
locate
. Ist es sinnvoll,-b
einen Pfad in zu kombinieren (dh "Nur den Basisnamen mit den angegebenen Mustern abgleichen")--regexp
? Warum entkommst du dem/
s?