如何从多个文件夹中删除点

如何从多个文件夹中删除点

我有几个想要隐藏的文件夹。在我的例子中,只需在文件夹名称开头添加一个点即可。

如果是单个文件夹,我可以使用命令

mv folder .folder

反之亦然。但如果我有多个文件夹,如 f1、f2、f3。我怎样才能将点附加到所有文件夹,然后删除所有点?

答案1

您可以使用rename命令匹配文件名的开头,然后用点替换它。如下例所示,您可以-n在调整正则表达式和/或文件匹配表达式时添加试运行选项。以下是一个例子。

rename 's/^/./' f* -n
rename(f1, .f1)
rename(f2, .f2)
rename(f3, .f3)

请记住,.当点在左侧使用时(即正则表达式),它具有任何字符的含义,当我们需要匹配文字点时,必须用反斜杠进行转义。因此,要进行反向重命名,正确的命令应该是:

rename 's/^\.//' .f* -n

请注意,您需要删除该-n选项才能执行实际的重命名。

相关内容