gpt4 book ai didi

linux - 查找对于 Synology 加密共享来说太长的文件

转载 作者:太空狗 更新时间:2023-10-29 11:41:49 41 4
gpt4 key购买 nike

在 DSM6.1 更新后尝试加密家庭共享时,我收到一条消息,提示存在文件名超过 143 个字符的文件。这是加密 Synology 共享中文件名的最大长度。

因为家庭共享中有很多东西(大部分是我自己的),手动搜索文件是不切实际的。然而,这些文件必须被删除或重命名以允许共享加密。

我需要一种自动方法来查找所有子目录中文件名超过 143 个字符的所有文件。使用 Windows 工具通过网络共享搜索文件可能会花费太长时间。

我自己找到了解决方案(虽然通过一些互联网研究,因为我还是一个 n00b)并想与你分享,这样有同样问题的人可能会从中受益。

最佳答案

就是这样:

find 函数与 grep 相结合可以达到目的。

find /volume1/homes/ -maxdepth 15 | grep -P '\/[^\/]{143,}[^\/]'

对于我的情况,我假设我的嵌套目录可能不超过 15 个。最大深度和起始目录可以根据您的需要进行调整。

对于 -P 参数,您可能需要安装 Perl,不过我不确定。

RegEx 匹配所有在某处有 / 后跟 143 或更多除 / 之外的任何字符且没有 / 的元素然后。这样我们只得到文件而没有目录。对于包含目录,您可以省略最后一个条件

RegEx 为不太熟悉的人解释:

  • \/ 查找正斜杠。新的文件/目录名称从这里开始。
  • [^\/] 表示:每个字符 except /
  • {143,} 表示:前面的标记出现 143 次或更多次
  • [^\/] 同上。这将排除所有不属于文件的结果。

关于linux - 查找对于 Synology 加密共享来说太长的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42938654/

41 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com