Bash 使用'$'\374'';在狂欢节上

Bash 使用'$'\374'';在狂欢节上,bash,replace,rename,filenames,file-rename,Bash,Replace,Rename,Filenames,File Rename,我有一个缺陷U盘中的多个文件。他们中的许多人一开始就有来自Mac OS的“.\”,应该保留。一些文件中有德语的替代词,如bash(ls-al)所示: “Pr'$”\374“fung_File.pdf” 如何删除“$”\374“”?我试过: rename -n 's/\\'/_/g' * 这是行不通的 ls的输出有点误导人,您的文件名称中实际上没有引号或美元符号。尝试: rename -n 's/\374/_/' * 如果输出良好,请删除-n。请再问一个问题。我刚刚看到,上面提到的“374”只

我有一个缺陷U盘中的多个文件。他们中的许多人一开始就有来自Mac OS的“.\”,应该保留。一些文件中有德语的替代词,如bash(ls-al)所示:

“Pr'$”\374“fung_File.pdf”

如何删除“$”\374“”?我试过:

rename -n 's/\\'/_/g' *

这是行不通的

ls
的输出有点误导人,您的文件名称中实际上没有引号或美元符号。尝试:

rename -n 's/\374/_/' *

如果输出良好,请删除-n。

请再问一个问题。我刚刚看到,上面提到的“374”只是一长串不同的3位数字中的一个(304,366…你可以说出来)。有没有办法“掩盖”他们?我试过一个“?”,但不起作用…我试过重命名-n's/[0-9][0-9][0-9][0-9]//'*但不起作用我对正则表达式的理解还不够好。我还需要将类似“Test(file.txt)”的文件名更改为“Testfile.txt”。因此,我尝试重命名-n's/(/“*”作为起始“(”),但没有成功。:-(@NoName这3位数字是不可打印字符的八进制表示,如
\374
是单个字符,
[0-9][0-9][0-9]
将不匹配。您可以尝试
s/[^[:print:]/_/g
或类似内容,有关字符类的详细信息,请参阅。