我尝试理解重命名命令选项开关“-p/--mkpath--make-dirs”的语法。
我现在在网上搜索了一段时间,但这个选项似乎并不常见。我找不到一个例子。
从手册中:
在目标路径中创建任何不存在的目录。如果您想根据文件名称的某些部分(例如前两个字母或扩展名)将一堆文件分散到子目录中,这非常方便:您不需要事先创建所有必要的目录,只需告诉“重命名” “根据需要创建它们。
这正是我想做的。有人能给我举个例子吗?
答案1
该选项没有太多“语法”,您只需像大多数选项一样使用它即可:
% touch a-b-c-d
% tree
.
└── a-b-c-d
0 directories, 1 file
% rename -pn 's:-:/:g' a-b-c-d
'a-b-c-d' would be renamed to 'a/b/c/d'
% rename -p 's:-:/:g' a-b-c-d
% tree -F
.
└── a/
└── b/
└── c/
└── d
3 directories, 1 file