由于某种原因,只要保留文件夹下面100个文件,其他的文件全部删除。

例如:使用Tensorflow训练数据,要拆分训练集和测试集时,从训练集拆分一部分数据为测试集,一种可行的方案如下:

mac命令:

ls|tail -100|xargs -I{} mv {} {}.bak;ls|grep -v bak|xargs rm -f;ls|awk -F '.bak' '{print $1}'|xargs -I{} mv {}.bak {}

linux命令:

ls|tail -100|xargs -i{} mv {} {}.bak;ls|grep -v bak|xargs rm -f;ls|awk -F '.bak' '{print $1}'|xargs -i{} mv {}.bak {}

linux和mac命令的区别: linux中 xargs 后面的参数是 -i ,mac要转换为大写 -I

不熟悉 xargs的童鞋请上直通车 xargs帮助文档

如果有更好的方法,欢迎大家不吝赐教

Logo

更多推荐