1. 程式人生 > >linux命令:批量將查找到的文件移動或者復制到其他目錄並盡可能保持原文件的目錄結構

linux命令:批量將查找到的文件移動或者復制到其他目錄並盡可能保持原文件的目錄結構

dep {} spa att 技術分享 滿足 分享 span 其他

以例子說明 原文件: 技術分享 移動目標: 技術分享 步驟: 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命令:批量將查找到的文件移動或者復制到其他目錄並盡可能保持原文件的目錄結構