命令行批量移动文件

在子目录中移动
ls -l ./ | grep 'cat' | grep -v "grep" | awk '{print $9}' | xargs -I {} mv {} ../cat

在父目录中移动(注意相对路径)
ls -l ./train | grep 'dog' | grep -v "grep" | awk '{print $9}' | xargs -I {} mv ./train/{} ./dog

这里我理解的,xargs中第一个“{}” 为某个具体的文件名(暂存),后面部分为拼接的命令,即第二个“{}”是取的第一个“{}”中的值。

posted @ 2019-08-15 15:04  天行侠  阅读(1371)  评论(0编辑  收藏  举报