Я считал это Копирование нескольких определенных файлов от одной папки до другого, который не мог помочь мне.
У меня есть тысячи файлов в /Users/Marine/Desktop/folderGN
, некоторые из которых я хочу сохранить и некоторые из которых я хочу переместиться.
Существует несколько файлов с различными именами, и я хочу переместить только тех, которые имеют имя, содержащее Protein
или MSMS
или PSms
.
Я хочу переместить их от
/Users/Marine/Desktop/folderGN
кому:
/Users/Marine/Descktop/myfolder
К шарику для различных имен можно использовать for
, цикл как так
for f in /Users/Marine/Descktop/folderGN/{*[Pp]rotein*,*MSMS*,*PSms*}; do echo mv -v -- "$f" /Users/Marine/Descktop/myfolder ; done
Удаляет echo
после тестирования для фактического перемещения файлов.
я скопировал Ваши пути точно (включая возможную опечатку в Descktop
?), но Вы могли вместо этого сделать это с относительными путями:
cd /Users/Marine/Descktop/folderGN
for f in *[Pp]rotein* *MSMS* *PSms* ; do echo mv -v -- "$f" ../myfolder ; done
(удаляют echo
после тестирования как прежде)
Это столь же просто как:
mv /Users/Marine/Descktop/folderGN/*protein* /Users/Marine/Descktop/myfolder/
mv /Users/Marine/Descktop/folderGN/*PSms* /Users/Marine/Descktop/myfolder/
mv /Users/Marine/Descktop/folderGN/*MSMS* /Users/Marine/Descktop/myfolder/
Эта команда чувствительна к регистру. Заметьте, что Descktop должен по всей вероятности быть Настольным, и что Пользователи/Морской пехотинец больше похожи на установку Mac, не Ubuntu один.
В окне терминала используют обычное mv
команда: mv /Users/Marine/Descktop/folderGN/*MSMS* /Users/Marine/Descktop/myfolder
повторение для других имен (т.е. PSms, и т.д.) соответственно.
На самом деле это очень просто. Если вы хотите, чтобы файлы с определенными буквами / цифрами в имени и в любом месте имени были перемещены в какой-либо каталог, просто:
move *some_name* directory