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

mc3*_*yre 7 command-line bash files

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

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

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

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

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

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

ste*_*ver 11

您通常可以使用--来指示命令结束的选项。所以:

  1. ls -- -*

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

-n一旦你对它做正确的事情感到高兴,就删除它。

也可以看看: