快速开发企业网站,一家公司可以做几个网站,哪家网站建设,深圳营销型网站建设方案服务商文章目录 批量重命名文件#xff1a;Ubuntu下使用find命令结合sed和mv参考 批量重命名文件#xff1a;Ubuntu下使用find命令结合sed和mv
在日常开发和文件管理中#xff0c;有时我们需要批量重命名一批文件#xff0c;比如将文件名中的某个特定字符串替换为另一个字符串。… 文章目录 批量重命名文件Ubuntu下使用find命令结合sed和mv参考 批量重命名文件Ubuntu下使用find命令结合sed和mv
在日常开发和文件管理中有时我们需要批量重命名一批文件比如将文件名中的某个特定字符串替换为另一个字符串。在这个案例中我们要将文件名中包含 - 副本.h 的部分替换为 “_ori.h”。
include$ ls
Converter - 副本.h KeyFrame - 副本.h Map - 副本.h ORBextractor - 副本.h Sim3Solver - 副本.hConverter.h KeyFrameDatabase - 副本.h MapDrawer - 副本.h ORBextractor.h Sim3Solver.h
Frame - 副本.h KeyFrameDatabase.h MapDrawer.h ORBmatcher - 副本.h System - 副本.h
FrameDrawer - 副本.h KeyFrame.h Map.h ORBmatcher.h System.hFrameDrawer.h LocalMapping - 副本.h MapPoint - 副本.h ORBVocabulary - 副本.h Tracking - 副本.hFrame.h LocalMapping.h MapPoint.h ORBVocabulary.h Tracking.h
Initializer - 副本.h LoopClosing - 副本.h Optimizer - 副本.h PnPsolver - 副本.h Viewer - 副本.hInitializer.h LoopClosing.h Optimizer.h PnPsolver.h Viewer.hfind . -type f -name “* - 副本.h” -exec bash -c ‘mv “ 0 0 0(echo “$0” | sed “s/ - 副本.h/_ori.h/”)”’ {} ; 解析 include$ ls
Converter.h Initializer.h LocalMapping.h Map.h ORBextractor.h PnPsolver.h Tracking.h
Converter_ori.h Initializer_ori.h LocalMapping_ori.h Map_ori.h ORBextractor_ori.h PnPsolver_ori.h Tracking_ori.h
FrameDrawer.h KeyFrameDatabase.h LoopClosing.h MapPoint.h ORBmatcher.h Sim3Solver.h Viewer.h
FrameDrawer_ori.h KeyFrameDatabase_ori.h LoopClosing_ori.h MapPoint_ori.h ORBmatcher_ori.h Sim3Solver_ori.h Viewer_ori.h
Frame.h KeyFrame.h MapDrawer.h Optimizer.h ORBVocabulary.h System.h
Frame_ori.h KeyFrame_ori.h MapDrawer_ori.h Optimizer_ori.h ORBVocabulary_ori.h System_ori.hfind . -type f -name “* - 副本.h” -exec bash -c ‘mv “ 0 0 0(echo “$0” | sed “s/ - 副本.h/_ori.h/”)”’ {} ; find . 从当前目录开始查找文件。 type f 指定查找的类型为文件排除目录。 name “* - 副本.h” 匹配所有以 - 副本.h 结尾的文件名。 exec bash -c ‘…’ {} ; 对每个匹配的文件执行指定的操作。 echo “$0” | sed “s/ - 副本.h/_ori.h/” 使用 sed 将文件名中的 - 副本.h 替换为 “_ori.h”。s/ - 副本.h/_ori.h/ 是 sed 替换命令的语法。 mv “ 0 0 0(echo …)” 使用 mv 命令将文件重命名为新的名称。 参考