Ich habe Millionen von Dateien mit der folgenden Nomenklatur auf einem Linux-Computer:
1559704165_a1ac6f55fef555ee.jpg
Die ersten 10 Ziffern sind Zeitstempel und diejenigen, denen ein folgt, _
sind spezifische IDs. Ich möchte alle Dateien, die mit bestimmten Dateinamen-IDs übereinstimmen, in einen anderen Ordner verschieben.
Ich habe dies im Verzeichnis mit Dateien versucht
find . -maxdepth 1 -type f | ??????????_a1ac*.jpg |xargs mv -t "/home/ubuntu/ntest"
Ich erhalte jedoch eine Fehlermeldung:
bash 1559704165_a1ac6f55fef555ee.jpg: command not found
Wenn ich es versucht habe, mv ??????????_a1ac*.jpg
erhalte ich einen zu langen Fehler in der Argumentliste. Ich habe mindestens 15 verschiedene Dateinamenmuster. Wie bewege ich sie?
| ??????????_a1ac*.jpg
:: Bash erweitert ihn auf mehrere Dateinamen, die erste ist1559704165_a1ac6f55fef555ee.jpg
, wenn Sie am Ende sind In dieser zweiten Pipe-Phase haben1559704165_a1ac6f55fef555ee.jpg next_matching_filename 3rd_matching_filename ... nth_matching_filename
Sie versucht, Folgendes auszuführen: Ich denke, Sie haben stattdessen versucht, nach diesem Dateinamen zu filtern (siehe Antworten unten)