如何替换文件名和目录名中的哈希模式 (Linux)

菲利普·法纳罗

我刚刚备份了我在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 的官方发行版?

菲利普·法纳罗

steeldriver在 Unix & Linux StackExchange上创建了一个非常完整和彻底的答案整个讨论原本应该都在这里。但是这个问题在某个时候已经结束了,我不得不在那里重新提问。当它回到这里时,我提醒steeldriver,但他显然既不感兴趣也不知道。我会留下这个答案,直到他选择在此处复制粘贴或链接他自己的内容。

很抱歉意外的交叉/复制粘贴发布。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何替换文件名和目录名中的哈希模式

Linux-替换文件名中的空格

Linux命令替换文件名中的字符串(单个)

如何根据文件名创建多个目录并在linux中更改文件名?

如何在Linux bash中转义SVN文件名中的#(哈希/磅)符号

Linux中文件名中的字符串替换

基于模式的Linux打印文件名

如何使用linux find命令替换所有文件名中的特殊字符?

在linux中如何替换文件中模式内的子模式

在Linux和Windows中,文件名的编码是什么?

在目录名称和该目录的文件名中替换单词

在Linux中,如何提取文件名不是Unicode的RAR?

如何在Linux中的文件名中分割数字?

Linux-仅打印目录和子目录的文件名

如何在zip中获取文件名和总数(Linux)

如何在Linux中连续创建带有特殊字符(如()和空格)的文件名?

在Linux中如何使用Shell脚本用下划线替换所有文件名中的空格?

在文件名(模式)之后列出文件夹中的文件 - Linux

在Linux中,如何仅按文件名比较两个目录并获取不匹配的结果列表

目录中每个文件的Linux Shell脚本抓取文件名并执行程序

在Linux中将子目录中的文件名写入CSV文件

用于在多个目录中提取文件名的Linux命令

linux一线,显示与模式匹配的文件名

在具有各种名称的目录中递归查找和替换文件名

查找Linux中2个目录之间的丢失文件名

在 Linux 中找出两个目录之间缺少的文件(缺少文件名,但没有扩展名)

如何使用 Ubuntu“重命名”工具替换目录名和文件名中的字符串?

是否有 linux 命令循环遍历目录中的文件,然后将所有文件名和内容写入 csv 文件?

在Linux终端中查找和删除文件名中包含相同字符串的文件