批量查找和替换Mac OS中的文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了批量查找和替换Mac OS中的文件相关的知识,希望对你有一定的参考价值。

我正在将我的视频库从H.264转换为H.265以节省空间。但是我的所有文件都在我想保留的文件结构中。我使用Adobe Media Encoder对所有文件进行编码,但它无法保留文件夹结构 - 仅将H.265文件输出到单个文件夹中。

如何在文件夹结构中批量搜索确切的文件名(xxx.mp4),然后从单个文件夹中将其替换为新的H.265文件(也称为xxx.mp4)?

我有1000多个视频,因此手动无法使用:-)

任何可以帮助的终端命令?

答案

我非常不愿意批量更改Mac上的数千个视频,所以我在这里完成了99%的视频。在你做任何其他事情之前请先备份。

好的,警告。将以下文件保存在HOME目录中,如go

#!/bin/bash

# Change this to match the top-level of where all your videos are stored
VIDEOLIB="$HOME/path/to/my/videos"

shopt -s nullglob nocaseglob

# Loop through all mp4 files in the current dorectory
for video in *mp4; do

   # Get this file's inode number (unique id)
   inode=$(stat -f "%i" "$video")

   # Now find a friend with same name but different inode number
   friend=$(find "$VIDEOLIB" -name "$video" ! -inum $inode)

   if [ -z "$friend" ] ; then
      echo "ERROR: $video has no friend"
   else
      echo "$video is friends with:"
      echo "   $friend"
   fi
done

然后启动终端,并使上面的脚本可执行 - 只需要一次:

chmod +x $HOME/go

现在将目录更改为Adobe Media Encoder存储其输出文件的位置,例如:

cd "path/to/Adobe Media Encoded files"

并使用以下命令运行脚本:

$HOME/go

它应该贯穿所有h265编码的视频,并为每个视频找到匹配的文件。除了告诉你比赛之外,它实际上什么都不做,你需要一条线

mv "$video" "$friend"

从最后一行开始大约3行,在fi线以上...但是做备份然后看看是否所有看起来都很好。

以上是关于批量查找和替换Mac OS中的文件的主要内容,如果未能解决你的问题,请参考以下文章

mac os x10.10批量重命名教程:os x 10.10批量修改文件名步骤

如何在实时代码应用程序中的Mac OS X上收听特定的文本字符串

Linux批量查找与替换

sublime text3 批量查找替换文件夹或项目中的字符

怎样用dreamweaver批量修改许多网页中的同一个内容?

sublime text3怎么批量查找替换文件夹中的字符