Suchen Sie nach Dateien, die Text im Namen enthalten, und verschieben Sie die Speicherberechtigungen in einen anderen Ordner


0

Ich habe Asterisk-Rekorde im MP3-Format mit Namen wie 13-07-31__09-32_205_988007007757.mp3 in / etc / asterisk / record

Ich muss Dateien auswählen, die zum Beispiel enthalten, *_205_*und sie in den Ordner / home / ftp verschieben, um Berechtigungen zu speichern.

Mein einziger Weg war:

cp -p /home/zapis/liveop/*_205_* "/home/zapis/livetex/dep1/205/"

rm /home/zapis/liveop/_205_

aber ich erhalte fehler failed to stat «/home/zapis/liveop/*_205_*»: No such file or directory

Und es sieht überhaupt nicht gut aus :(


1
Dieser Fehler tritt normalerweise auf, wenn keine Datei Ihrem Muster entspricht. Sind Sie absolut sicher, dass die Datei dort vorhanden ist, wo Sie sie erwarten, und dass Sie nichts falsch eingegeben haben? Auch warum zitieren Sie das Ziel?
Tim

Ich habe gerade gesehen, dass Sie die Fehlermeldung einige Male bearbeitet haben. Wenn Sie nicht kopiert und eingefügt, sondern alle Ein- und Ausgaben erneut eingegeben haben: Vergewissern Sie sich, dass Sie bei der *Eingabe des Befehls nicht den Quellbegriff (mit dem ) angegeben haben. Dadurch wird verhindert, dass die Bash-Erweiterung die Dateien mit Ihrem Muster vergleicht.
Tim

Antworten:


1

Wenn ich du wäre, würde ich es so machen

find /home/zapis/loveop -name "*_250_*" -exec cp {} /home/zapis/livetex/dep1/205/ ';'
find /home/zapis/loveop -name "*_250_*" -exec rm {} ';'

cp-, rm- und coreutils-Zeug haben eine Beschränkung für die maximale Anzahl von Dateien. Dies ist in der Tat eine Shell-Beschränkung für die Anzahl von Argumenten, die ein Befehl empfangen kann.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.