Я новичок в этом деле и, похоже, столкнулся с проблемой. По сути, у меня есть много файлов с именами, содержащими ключевое слово (назовем его «Category1») в каталоге. Например:
AB C -Category1-XYZ.txt
Я пытаюсь переместить их из каталога в другой каталог с тем же именем, что и Ключевое слово.
Я начал с этого:
find /path_A -name "*Category1*" -exec mv {} /path_A/Category1 \;
Выделено что-то вроде этого:
mv: переименовать / path_A / Category1 в / path_A / Category1 / Category1: Неверный аргумент
Поэтому я немного позабавился и предположил, что проблема была вызвана командой, пытающейся переместить каталог Category1 в себя (возможно). Я решил исключить каталоги из поиска, чтобы он только пытался переместить файлы. Я придумал это:
find /path_A -name "*Category1*" \(! -type d \) -exec mv {} /path_A/Category1 \;
Это переместило файлы из их исходного местоположения туда, где я их хотел, но все равно дало мне что-то вроде:
mv: / path_A / Category1 / AB C -Category1-XYZ.txt и /path_A/Category1/ABC-Category1-XYZ.txt идентичны
Я не эксперт, поэтому я мог быть неправым ... но я считаю, что команда пытается найти и переместить файлы из исходного каталога, а затем найти их снова. Каталог Category1 является подкаталогом начальной точки / path_A, поэтому я считаю, что он находит только что перемещенные файлы в каталоге Category1 и пытается переместить их снова.
Может кто-нибудь помочь мне решить эту проблему?