bash - 重命名命令中的转义字符
问题描述
我有一个重命名命令如下:
rename ".csv" "-en.csv" Daily_vills.csv
rename "^" "07302019" Daily*
当我运行它时,我收到一个错误“重命名:无效选项 - 'e'”。我已经尝试过“\-en.csv”,但这会导致“Daily_vills\-en.csv”
我的问题是如何让 bash 明白 -en 是替换值而不是参数。
原来的:
Daily_vills.csv
目标;
07302019Daily_vills-en.csv
非常感谢您对此的任何帮助
解决方案
用于--
通知rename
选项结束。
rename -- ".csv" "-en.csv" Daily_vills.csv
准则 10:
第一个不是选项参数的 -- 参数应被接受为指示选项结束的分隔符。任何以下参数都应被视为操作数,即使它们以“-”字符开头。
在许多 *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 实用程序约定的准则。可--
用于通知rename
选项结束。
推荐阅读
- unix - Progress4GL .p 中的 UNIX SILENT VALUE 在尝试发送邮件时不适用于变量
- php - 对于目录中的每个类
- javascript - Html javascript getattribute不起作用
- c# - CS7069:对类型“CodeCompileUnit”的引用声称它在“系统”中定义,但找不到
- django - Django:基于外键过滤器编辑多个现有模型条目
- dart - 例外:类型“NativeJavaScriptObject”不是预期类型“HttpRequest”的子类型
- angular - MiniCssExtractPlugin 从应用程序全局样式 webpack 中提取 css 文件
- ruby-on-rails - 使用 Rails 5 的多种类型的帖子和类别结构
- android - 如何通过可访问性服务覆盖来制作触摸事件?
- python - Tensorflow 1.8.0:Wide and Deep Model 结果不稳定。随机种子不起作用