我在 Mac 上。我想使用终端或其他程序提取具有多层子文件夹的文件夹中 .MP4 文件的文件路径。我有一个主文件夹,里面有子文件夹。每个子文件夹都有自己的子文件夹。最后在这一行中,有 .MP4 文件。我想要一个包含每个 .MP4 文件的文件路径的文本文件,最好用逗号或分号分隔。你能帮我吗?
我研究了几个选项,但它们要么适用于 Windows,要么不太有用。Windows 中的 dir 命令似乎可能有用。
答案1
类似的东西可以帮助你(在 RHEL 上测试):
printf "%s:" $(dirname $(find . -name "*.MP4") |sort -u)|sed 's/:$//'; echo
简短解释
find . -name "*.MP4"
搜索文件名(带路径)
dirname $(find . -name "*.MP4") |sort -u
获取目录名称、排序并获取唯一目录
printf "%s:" $(dirname $(find . -name "*.MP4") |sort -u)
打印目录名称和分号
sed 's/:$//'
删除最后一个分号
echo
在最后添加新行