我尝试使用 同步/dir1
(ext4) 和/dir2
(ntfs) rsync -azP
,但出现以下错误:
rsync: recv_generator: mkdir "dir2/X.Y." failed: Invalid argument (22)
rsync: recv_generator: mkdir "dir2/CATSNDOGS\#123.11." failed: Invalid argument (22)
Run Code Online (Sandbox Code Playgroud)
请注意,目录X.Y.
和CATSNDOGS #123.11.
是由其他方创建的,并按其名称命名,下载(使用 Python 脚本)到/dir1
.
我无法cd
进入这些目录,也ls -d
没有列出它们。另一方面,基于 GUI 的nautilus完美地显示了它们以及其中的内容。
我想将一些文件重命名为其内容的 MD5 总和;例如,如果文件foo
为空,则应将其重命名为d41d8cd98f00b204e9800998ecf8427e
.
它必须是脚本还是我可以使用类似rename
工具的东西?
到目前为止,我找到了一个解决方案,可以大量更改所有这些烦人的文件名,使它们可读且更易于在命令行中操作。
于是我在众多命令中发现了一个叫做detox的小软件。默认情况下,它将空格替换为_
。通读手册页并没有给我一个答案,如何使排毒重命名文件用-
, 替换空格。
[/] cd test
one five/ one four/ one one/ one three/ one two/
[test] detox *
[test] l
one_five/ one_four/ one_one/ one_three/ one_two/
[test]
Run Code Online (Sandbox Code Playgroud)
怎么做?
我找不到.detoxrc
文件(或与该程序相关的任何文件),如果我创建它,我不知道要在其中放入什么。
PS 除了排毒之外还有其他方法吗?
两个包含相同歌曲的文件,都是 M4A 格式,当我计算它们的哈希时输出两个不同的结果:
md5sum
f149e2d2a232a410fcf61627578c101a new.m4a
ad26ed675342f0f45dcb5f9de9d586df old.m4a
Run Code Online (Sandbox Code Playgroud)
它们包含相同数量的字节:
ls -l
-rw-rw-r-- 1 cdc cdc 2978666 Jun 26 19:49 new.m4a
-rwxrwxr-x 1 cdc cdc 2978666 Jun 26 19:49 old.m4a
Run Code Online (Sandbox Code Playgroud)
该exiftool
输出不同之处仅在创建(日期引擎收录了new.m4a
和引擎收录的old.m4a
)。
我使用 Audacity 的工具来比较两个文件(通过反转和混合它们,这使它们消除了彼此的相似性),结果是沉默,因为没有留下任何东西,这意味着两个文件之间没有区别。
命令cmp
给我:
cmp -l
54 375 23
55 51 305
56 41 112
58 375 23
59 51 305
60 45 116
170 375 23
171 51 305
172 41 112
174 375 23
175 51 …
Run Code Online (Sandbox Code Playgroud)