linux命令:批量将查找到的文件移动或者复制到其他目录并尽可能保持原文件的目录结构
Posted fochen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux命令:批量将查找到的文件移动或者复制到其他目录并尽可能保持原文件的目录结构相关的知识,希望对你有一定的参考价值。
以例子说明
原文件:
移动目标:
步骤:
1.查找出满足条件的文件,并先创建目标目录
find /root/ -maxdepth 5 -name ‘*.log‘ -exec echo {} \;|sed "s/\/root\//\/root\/mv2\//g"|sed "s/[^/]*\.log//"|awk ‘{system("mkdir -p "$1" ")}‘
2.查找出满足条件的文件,并移动文件至目标目录
find /root/ -maxdepth 5 -name ‘*.log‘ -exec echo {} {} \; |sed "s/ \/root\// \/root\/mv2\//g"|awk ‘{system("mv "$1" "$2)}‘
命令说明:功能将root目录下面的所有.log文件移动到mv2子目录中。
a.查找时一定要用绝对路径,否则mv和mkdir命令会出错
b.第2步中:sed替换符里有空格的
以上是关于linux命令:批量将查找到的文件移动或者复制到其他目录并尽可能保持原文件的目录结构的主要内容,如果未能解决你的问题,请参考以下文章
Linux高级命令04:查找文件命令★ Python Web篇学习汇总:Part 01—Linux基础命令绝对路径和相对路径 / 创建删除复制移动文件及目录命令