Bash 重命名命令中的转义字符

Bash 重命名命令中的转义字符,bash,shell,rename,Bash,Shell,Rename,我有一个重命名命令,如下所示: rename ".csv" "-en.csv" Daily_vills.csv rename "^" "07302019" Daily* 当我运行此命令时,会出现一个错误“重命名:无效选项--“e”。我已经试过“\-en.csv”,但结果是“Daily\u vills \-en.csv” 我的问题是如何让bash理解-en是替换值而不是参数 原件: Daily_vills.csv 目标 07302019Daily_vills-en.csv 非常感谢您提供的任

我有一个重命名命令,如下所示:

rename ".csv" "-en.csv" Daily_vills.csv
rename "^" "07302019" Daily*
当我运行此命令时,会出现一个错误“重命名:无效选项--“e”。我已经试过“\-en.csv”,但结果是“Daily\u vills \-en.csv”

我的问题是如何让bash理解-en是替换值而不是参数

原件:

Daily_vills.csv
目标

07302019Daily_vills-en.csv
非常感谢您提供的任何帮助

使用
--
通知
重命名
选项结束

rename -- ".csv" "-en.csv" Daily_vills.csv
发件人:

准则10:

第一个--argument不是option参数,应该被接受为指示选项结束的分隔符。以下任何参数都应视为操作数,即使它们以“-”字符开头

在许多*nix工具中,使用
--
结束选项进行通知是很常见的。示例:

# touch a file named -a
touch -- -a
# cat a file named -a
cat -- -a
# printf the string -b
printf -- -b
# find a string '-c' in files in current directory
grep -- -c *

rename
实用程序也遵循posix实用程序惯例的指导原则。
--
可用于通知
重命名
选项的结束。

重命名--“.csv”-en.csv“Daily_vills.csv有效吗?让我试试这种格式。为什么要使用
重命名
重命名单个文件
mv Daily_vills.csv 07302019Daily_vills-en.csv
。这不是针对单个文件,而是针对一个文件中的一组文件folder@KamilCuk这有帮助。你能解释一下这是怎么回事吗。。谢谢你把这个挖出来。
rename -- ".csv" "-en.csv" Daily_vills.csv