我使用的是 Fedora 24。
我尝试了很多不同的方法来做到这一点。我已经在 Windows VM 下尝试过,并将相关文件夹作为共享文件夹。
我尝试过使用“重命名”命令。
我尝试过使用“mv”命令。
我尝试在“文件”中重命名它们。
我尝试将文件名设置为带有 inode 的变量,然后重命名。 (失去来源)
26477098 'File | With Pipe.png'
xyz=`ls -i|grep 26477098|sed 's/26477098 //'`
mv "$xyz" File\ --\ With\ Pipe.png
mv: cannot stat 'File | With Pipe.png': No such file or directory
无论我尝试以何种方式执行此操作,我都会不断收到“没有此类文件或目录”错误。
我还尝试使用它们的索引节点号来重命名它们(“mv”文件的 inode 编号名称出现乱码?)
26477098 'File | With Pipe.png'
[user@computer Pictures]$ find . -inum 26477098 -exec mv {} File\ --\ With\ Pipe.png \;
mv: cannot move './File | With Pipe.png' to 'File -- With Pipe.png': No such file or directory
[user@computer Pictures]$ find . -inum 26477098 -print0 | xargs -0 mv -t a.png
mv: failed to access 'a.png': No such file or directory
如果我尝试打开该文件,它会显示“未找到图像...”
我在想也许我可以硬链接到索引节点,然后尝试删除原始文件,但我想不出办法来做到这一点。
有什么想法吗?
*****************************编辑******************** ******************
[risshuu@centurion Pictures]$ mv "File | With Pipe.png" "File -- With Pipe.png"
mv: cannot stat 'File | With Pipe.png': No such file or directory
[risshuu@centurion Pictures]$ mv File\ \|\ With\ Pipe.png File\ --\ With\ Pipe.png
mv: cannot stat 'File | With Pipe.png': No such file or directory
我有很多这样的文件,但没有一个对它们起作用。
我刚刚创建了一个带有管道的新文件,将其重命名为不包含管道是没有问题的。肯定还发生了其他事情,因为我无法“捕捉”内容或打开文件 - 我什至无法删除任何文件!是否有任何其他文件验证命令或我可以使用的东西或者我可以从文件系统中删除这些文件的方法?
答案1
您应该能够使用反斜杠转义管道
mv te\|st test
或者在你的情况下有空间
mv first\ \|\ last first_last
如果这不起作用,您可以通过用双引号将所有特殊字符转义。
mv "first | last" first_last