Я убирал свой дом (/home
), когда почувствовал необходимость в этом. Помогите мне переместить файлы (без расширения) в другой каталог. Однако я хочу сохранить каталоги в доме нетронутыми. Различные услуги зависят от них
Перемещение файлов с расширениями /target/directory
, принимая регулярное понятие расширений:
find ~ -type f -name '?*.?*' -exec mv -t /target/directory/ {} +
Это найдет и переместит файлы, рекурсивно начинающие с Вашего корневого каталога.
я использовал ?*.?*
вместо всего *.*
так, чтобы скрытые файлы в форме .foobar
и файлы как foobar.
были исключены.
, Если Вы не хотите пересекать подкаталоги (т.е. нерекурсивно):
find ~ -maxdepth 1 -type f -name '?*.?*' -exec mv -t /target/directory/ {} +
, Если Вы хотите переместить все файлы независимо от наличия расширения:
find ~ -type f -exec mv -t /target/directory/ {} +
Не рекурсивно:
find ~ -maxdepth 1 -type f -exec mv -t /target/directory/ {} +
Вы хотите переместить просто файлы а не каталоги, ни файлы в каталогах. Можно использовать эти find
команда с ~
(=home) как аргумент и также использовать maxdepth 1
(ищите только родительский каталог), и type f
(файл). Результат (все файлы в данном каталоге), чем переданный по каналу к xargs
(-0 опций состоят в том, чтобы проигнорировать особые значения некоторых символов), который выполняется перемещение . mv -t TargetDirectory
перемещения вход, который был произведен find
команда в TargetDirectory.
find ~ -maxdepth 1 -type f -print0 | xargs -0 mv -t Path/To/Target/Directory