【发布时间】:2021-03-22 12:39:26
【问题描述】:
我刚刚备份了我在 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} 之类的东西,尽管我也无法让它工作。有没有办法在没有fors 的情况下只用一行替换文件和文件夹?
我已经在 StackOverflow 上尝试了许多其他关于此的答案,但到目前为止我发现的几乎所有答案要么只处理文件,要么将固定单词作为模式。
我想使用 Mass-Move 命令行工具 (mmv),但 Arch Linux 没有官方发行版?
【问题讨论】:
标签: regex linux shell pattern-matching