-
前言
Ubuntu系统使用mv移动文件,一次性移动的文件数量有限制,具体数量不清楚,本人一次性移动>600000个文件时遇到了。
-
解决办法
# 使用xargs传参,不会出现长度超出限制问题
# indir: 需要移动文件所在文件夹
# file: 变量别名,代指前面传来的文件名
# outdir: 目标文件夹
ls indir | xargs -I file mv file outdir
# 移动指定数量文件数
# |head -n10000: 移动indir中前10000文件
ls indir |head -n10000 | xargs -I file mv file outdir
# 移动指定格式文件(或含指定字符串文件)
# find indir -name "*.txt": 查找文件夹indir中文件名含有".txt"的文件
find indir -name "*.txt" | xargs -I file mv file outdir