列出并重命名以破折号/连字符 (-) 开头的文件

列出并重命名以破折号/连字符 (-) 开头的文件

我有 100 多个以破折号 ( -) 开头的文件。我需要知道如何做两件事:

示例:( -20200622_142237.jpg 文件扩展名各不相同,但开头均带有破折号。)

  1. 如何列出ls以此破折号开头的 () 文件?Bash 似乎认为我正在尝试使用另一个参数。我尝试在前面使用单引号、双引号和 -。似乎没有任何效果。

  2. 如何同时重命名所有这些文件?目的是重命名它们时不带开头的破折号。

笔记: 我不想更改下划线 ( _)。我只想删除-文件开头的破折号 ( )。

最后,我已经尝试过了可能的解决方案之前发布过,但是不起作用。

答案1

通常可以使用--来表示命令选项的结束。因此:

  1. ls -- -*

  2. (使用基于 perl 的rename命令)rename -n 's/^-//' -- -*

-n一旦您确认它正在做正确的事情,就将其删除。

也可以看看:

相关内容