我通常会得到一堆名称以破折号“-”开头的文件。当我执行任何类型的 linux 命令时,这会导致各种问题,因为 - 之后的任何内容都被解释为标志。 在文件前面没有短划线字符的情况下重命名这些文件的最快方法是什么。我可以通过在文件名前添加“--”来手动重命名每个文件。例如:“-File1”将重命名为
mv -- -File1 File1
但是当我必须即时重命名 100 个文件时,这并不理想。目前,我必须将其导出并使用 Windows 程序,以便我可以批量重命名它们,然后将其上传回 Linux 机器。
最佳答案
引用此类文件的最简单方法是./-File1
。 (无论如何,如果文件位于当前目录中,您只会遇到问题。)也许如果您习惯了它并没有那么糟糕。
要批量重命名它们,您可以执行以下操作:
for f in -*; do mv "./$f" "renamed$f"; done
或者,正如@shellter 在评论中建议的那样,在 OP 中重现示例:
for f in -*; do mv "./$f" "${f#-}"; done
注意:以上只会从名称中删除一个-
。
关于perl - 批量重命名以 '-' 开头的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20810581/