Как переместить все в каталоге, кроме подкаталогов в другой каталог?

Я убирал свой дом (/home), когда почувствовал необходимость в этом. Помогите мне переместить файлы (без расширения) в другой каталог. Однако я хочу сохранить каталоги в доме нетронутыми. Различные услуги зависят от них

-1
задан 29 April 2016 в 17:51

2 ответа

Перемещение файлов с расширениями /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/ {} +
0
ответ дан 30 April 2016 в 03:51
  • 1
    Если бы я хотел Raspbian, я купил бы карту, которая уже имела его на. – Daniel Noble 1 October 2017 в 23:03

Вы хотите переместить просто файлы а не каталоги, ни файлы в каталогах. Можно использовать эти 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

Ссылки: mv находят xargs

1
ответ дан 30 April 2016 в 03:51

Другие вопросы по тегам:

Похожие вопросы: