Suchen Sie alle Dateien, die der Beschreibung entsprechen, und erstellen Sie einen festen Link im Verzeichnis

885
curios

Ich möchte alle .mkvDateien in meinem Download-Verzeichnis finden und in meinem Verzeichnis einen festen Link zu ihnen erstellen /movies/.

Folgendes habe ich bisher:

for i in `find /download/ -name *.mkv`; do ln "$i" /movies/; done 

Was fast funktioniert: Ich bekomme eine Reihe von harten Links zu partiellen Dateinamen. Das heißt, anstelle eines harten Links zu The Best Movie Ever.mkverhalten, bekomme ich vier harte Links, eins zu Theeins zu Besteins zu Movieund eins zuEver.mkv

Irgendwelche Vorschläge?

2
Schau dir diese Antwort an. Es geht darum, falsch benannte Dateien umzubenennen, aber die Kernlogik "find" sollte für Sie funktionieren. http://superuser.com/a/847795/167207 JakeGould vor 9 Jahren 0

1 Antwort auf die Frage

2
jherran

Versuchen Sie es so:

find /download/ -name *.mkv -exec ln {} /movies/ \; 
Süss. Es klappt. Ich war an einem Punkt so nah, dass ich diese Antwort hatte, außer dem letzten Dank curios vor 9 Jahren 0
Manpage sagt, Sie müssen dem ';' so interpretiert bash es nicht curios vor 9 Jahren 0