【发布时间】:2020-10-09 12:31:32
【问题描述】:
我正在尝试将我的一些视频文件移动到新的子目录中,同时也在我的 Unraid 系统上重命名它们。这些文件都遵循类似的命名约定:
featurette name-featurette.mkv
我想将这些文件从它们的当前目录移动到一个子目录并像这样重命名它们:
featurettes/featurette name.mkv
我可以使用 find 和 execdir 创建目录并重新定位文件:
find . -type f -name *-featurette.mkv -maxdepth 2 -execdir mkdir ./featurettes/ \;
find . -type f -name *-featurette.mkv -maxdepth 2 -execdir mv {} ./featurettes/ \;
我正在为重命名作品而苦苦挣扎。我已经尝试了重命名命令,但无法让它在 featurettes 目录中工作,更不用说从上面的两个目录中执行命令了。我在 featurettes 目录中尝试了以下命令:
rename \-featurette.mkv .mkv *
但是我得到了错误:
invalid option -- 'f'
我认为通过转义破折号可以避免该问题,但它似乎不起作用。非常感谢有关如何从与其匹配的子目录中的所有文件中删除此模式的任何建议。
【问题讨论】:
-
使用引号等重命名 "-featurette.mkv" ".mkv" *
-
另外,对于 find 命令中的所有文件,您不必像以前那样多次调用
mkdirmute。只需一次,mkdir -p your/name,然后移动并重命名。