Ты можешь попробовать
find . -maxdepth 1 -type f -exec mv {} destination_path \;
Как я могу переместить только простые файлы (не каталоги) из одной папки в Linux в другую папку с помощью mv
команды?
Я пытался mv * ~/
, но он скопировал все, включая каталоги.
Ты можешь попробовать
find . -maxdepth 1 -type f -exec mv {} destination_path \;
Я вроде как "использую молоток для всего", поэтому я использую программы оболочки Bourne для вещей, которые другие используют для ...
for file in * .* do test -f "$file" && mv "$file" "$HOME"/ done
Некоторым нравится делать вещи как можно быстрее, но я довольно быстрая печатница, и у меня в мозгу есть такие вещи, так что делать это не слишком сложно, вместо того, чтобы искать точный текст аргументы, чтобы найти и exec и все такое.
YMMV, хотя ...
@Mereghost is very close. Here's what I get to move all files (including hidden files), but not directories:
find . -maxdepth 1 -type f -name '*' -exec mv -n {} /destination_path \;
The .
after find assumes you current directory is the source of the files you want to move. If not, the command can be revised, as follows:
find /source_path -maxdepth 1 -type f -name '*' -exec mv -n {} /dest_path \;
If you want to move only regular files and not hidden files:
find . -maxdepth 1 -type f -name '[!.]*' -exec mv -n {} /dest_path \;
If you want to move only hidden files and not regular files:
find . -maxdepth 1 -type f -name '.*' -exec mv -n {} /dest_path \;
вы можете использовать найти
find * -maxdepth 1 -type f -exec mv {} ~ \;
mv `find ./sourcedir/* -type f` ./destdir