我刚刚备份了我在Notion中的笔记,他们在笔记名称中使用哈希码使它们显然是唯一的。
例如,这可能是一个带有一些笔记的笔记文件夹:
Archive e74f698cb73b42c790d08999bdbe47e4
├── Note 1 cda63bef095a493f9847d516cf34fa5f.md
├── Note 2 dda63bef095a493f9847d516cf34fa5f.md
(有时还有一个.csv
表格文件)
我试图使用正则表达式[a-z0-9]{32}
来替换模式,但很难使它与s/
:
find -type f -print0 | xargs -0 rename 's/[a-z0-9]{32}//g'
(我不知道我真正明白的目的-print0
和-0
是。)
上面的代码仅适用于文件,但我也尝试使用类似的东西,mv $f ${f:0:-34}
尽管我也无法使其工作。有没有办法让文件和文件夹只用一行替换,而没有for
s?
我已经在 StackOverflow 上尝试了许多关于此的其他答案,但到目前为止我发现的几乎所有答案要么只处理文件,要么将固定词作为模式处理。
我想使用 Mass-Move 命令行工具 ( mmv
),但没有 Arch Linux 的官方发行版?
steeldriver在 Unix & Linux StackExchange上创建了一个非常完整和彻底的答案。整个讨论原本应该都在这里。但是这个问题在某个时候已经结束了,我不得不在那里重新提问。当它回到这里时,我提醒了steeldriver,但他显然既不感兴趣也不知道。我会留下这个答案,直到他选择在此处复制粘贴或链接他自己的内容。
很抱歉意外的交叉/复制粘贴发布。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句