linux复制文件夹中前N个文件到其他目录下
方法一:指令
指令需要在源文件夹路径下运行
ls |head -n N |xargs -i cp {} /data/bertram/test
注:N指前n行
如果目录下还有其他文件夹,则需递归方式(-r)进行拷贝,否则会报错
方法二:shell解决
#!/bin/bash
srcdir="/data/bertram/tinypng"
dstdir=/"/data/bertram/test"
N=10
for i in "${srcdir}"/*; do
[ "$((N--))" = 0 ] && break
cp -t "${dstdir}" -- "$i"
done
选项:
-t:复制所有的源文件到目录
语法:
cp [option] -t dir src
这会将最大数量的 N文件从复制$srcdir到$dstdir。
参考:文章