21 linux unix file-management find mv
如何使用mv
命令仅将纯文件(而不是目录)从 Linux 中的一个文件夹移动到另一个文件夹?
我试过mv * ~/
,但它复制了包括目录在内的所有内容。
小智 35
你可以试试
find . -maxdepth 1 -type f -exec mv {} destination_path \;
Run Code Online (Sandbox Code Playgroud)
@Mereghost 非常接近。这是我移动所有文件(包括隐藏文件)但不移动目录的方法:
find . -maxdepth 1 -type f -name '*' -exec mv -n {} /destination_path \;
Run Code Online (Sandbox Code Playgroud)
后.
查找假设您当前目录是要移动的文件的源。如果不是,可以修改命令,如下:
find /source_path -maxdepth 1 -type f -name '*' -exec mv -n {} /dest_path \;
Run Code Online (Sandbox Code Playgroud)
如果您只想移动常规文件而不移动隐藏文件:
find . -maxdepth 1 -type f -name '[!.]*' -exec mv -n {} /dest_path \;
Run Code Online (Sandbox Code Playgroud)
如果您只想移动隐藏文件而不移动常规文件:
find . -maxdepth 1 -type f -name '.*' -exec mv -n {} /dest_path \;
Run Code Online (Sandbox Code Playgroud)
我是一个“凡事都用锤子”的人,所以我使用 bourne shell 程序来处理其他人使用外部程序......
for file in * .*
do
test -f "$file" && mv "$file" "$HOME"/
done
Run Code Online (Sandbox Code Playgroud)
有些人喜欢用尽可能少的打字来完成工作,但我打字速度很快,而且我的大脑中已经内置了这样的东西,所以这样做而不是查找确切的内容并不会太痛苦。 find 和 exec 的参数等等。
YMMV,不过...
归档时间: |
|
查看次数: |
38888 次 |
最近记录: |