我在成千上万个子目录中有数千个文件,其名称为" video.mp4"我需要将它们重命名为" video_old.mp4"
由于我不想开始一个失败或导致问题的过程,我只是在寻找一个我认为是正确命令的命令验证。
find . -iname "video*" -exec rename video_old.mp4 .mp4 '{}' \;
如果这不是最好的方法,请帮我写一个更好的命令。
答案 0 :(得分:0)
这应该可以解决问题find . -iname 'video*.mp4' -exec bash -c 'mv $0 ${0/\.mp4/_old.mp4}' {} \;
答案 1 :(得分:0)
如果您有权使用void updateEntry(Entry ** entryLookup, unsigned int id, int val1, short val2)
{
Entry * entry = __sync_fetch_and_add(&entryLookup[id], sizeof(Entry));
entry->val1 = val1;
entry->val2 = val2;
}
Perl 命令,则可以使用它:
renrem
注意:
我假设你的文件名是:find . -name \*.mp4 | rename -v -n 's/(?=.mp4)/_old/'
。重命名命令将在name-file.mp4
之前与.
匹配,然后在其之前添加mp4
:例如:
_old
==> file.mp4
确保一切正常后,删除file_old.mp4
参数
-n
:无操作:打印要重命名的文件名,但不要重命名
如果您无法访问-n
perl文件。您可以在C ++ here is the link中使用我的rename
程序。但它还不支持管道