这可能是一个简单的问题,但是如何在命令行程序中使用以“-”开头的文件?
例如,我试图pdfgrep在一个名为的文件上使用,-2013-01-01.pdf但它抱怨没有为 2、0、1、3 等定义选项。
将文件名更改为不以“-”开头的内容可以解决它,但这不是一个选项,因为这些文件不是由我创建的。我只是想检查一下我知道即将发生的特定变化。
在终端中,我可以重命名以破折号开头的单个文件,即
mv ./-file file
Run Code Online (Sandbox Code Playgroud)
我还可以重命名目录中以破折号开头的所有文件,即
for f in ./-*; do rename 's/-//' "$f"; done
Run Code Online (Sandbox Code Playgroud)
但是,我怎样才能递归地做到这一点。我曾尝试使用find命令、rename命令和递归for循环。顺便说一句,很多文件名都不止一个破折号。我只想删除第一个破折号。谢谢!