sed - Bash 使用下划线重命名文件

标签 sed rename

我有名为 CULT_2009_BARRIERS_EXP_Linear.dbf
并想将它们重命名为 CULT_BARRIERS_EXP_Linear.dbf 。 这些文件的前缀是日期,该日期始终与捕获时显示的日期不同。 我尝试用正则表达式替换它们。我想测试该字符串是否包含数字,然后重命名。我用过

    if [[  $file =~ [0-9]   ]];  then rename -v "s/[0-9]//g" * && rename -v s/[_]_/_/ *;

部分有效。但我理想地希望有一个重命名命令,因为这是一种很好的做法

最佳答案

单个重命名命令就足够了。只需在实际存储 .def 文件的目录中运行以下命令即可。

rename -v "s/_[0-9]+//g" *.dbf

[0-9]+ 匹配一个或多个数字,其中 [0-9] 匹配单个数字字符。 + 重复前一个标记一次或多次。

关于sed - Bash 使用下划线重命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29769393/

相关文章:

html - sed -- 删除非标准字符

unix - 在文件中搜索精确的多个模式并在模式匹配时删除行

php - 是否有任何 IDE 能够在 PHP 中重命名重构命名空间?

javascript - 谁拥有 javascript 中子框架的名称,父框架还是子框架?

Python 重命名目录中的多个文件

c# - 如何永久重命名 C# 项目的 Properties 命名空间

linux - 搜索字符串的组合和模式

linux - 使用 awk/sed 在制表符分隔文件中间添加重复内容

bash - 使用 sed 解析鱼眼日志的问题

git merge 重命名冲突