首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

脚本bash :删除文件名中"-“和"_”之间的数字

脚本bash是一种用于自动化任务的脚本语言,常用于Linux和Unix系统中。它可以通过编写一系列命令和逻辑来实现各种功能。在这个问答中,我们需要编写一个脚本来删除文件名中"-“和"_”之间的数字。

脚本示例:

代码语言:txt
复制
#!/bin/bash

# 遍历当前目录下的所有文件
for file in *; do
    # 判断文件是否为普通文件
    if [[ -f $file ]]; then
        # 使用正则表达式匹配文件名中的数字,并删除
        new_file=$(echo "$file" | sed 's/-[0-9]*_/-_/g')
        
        # 判断新文件名是否与原文件名相同
        if [[ "$new_file" != "$file" ]]; then
            # 重命名文件
            mv "$file" "$new_file"
            echo "已删除文件名中的数字:$file -> $new_file"
        fi
    fi
done

这个脚本会遍历当前目录下的所有文件,对于每个普通文件,它会使用sed命令将文件名中"-“和"_”之间的数字替换为空,然后通过mv命令重命名文件。如果文件名发生了改变,脚本会输出相应的提示信息。

这个脚本可以用于批量处理文件名中包含数字的文件,例如文件名为"file-123_test.txt",经过脚本处理后,文件名会变为"file_test.txt"。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供弹性计算能力,可根据业务需求灵活调整配置。详情请参考:云服务器产品介绍
  • 对象存储(COS):提供安全、稳定、低成本的云端存储服务,适用于各种场景。详情请参考:对象存储产品介绍
  • 云函数(SCF):无服务器的事件驱动型计算服务,可帮助开发者更轻松地构建和管理应用程序。详情请参考:云函数产品介绍
  • 云数据库 MySQL 版(CDB):提供高性能、可扩展的关系型数据库服务,适用于各种规模的应用。详情请参考:云数据库 MySQL 版产品介绍
  • 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,帮助开发者快速构建智能应用。详情请参考:人工智能平台产品介绍
  • 物联网开发平台(IoT Explorer):提供全面的物联网解决方案,帮助开发者连接、管理和控制物联网设备。详情请参考:物联网开发平台产品介绍
  • 区块链服务(Tencent Blockchain):提供安全、高效的区块链解决方案,帮助企业实现数字化转型。详情请参考:区块链服务产品介绍
  • 腾讯云元宇宙:腾讯云的元宇宙计划正在积极探索虚拟现实、增强现实等领域,为用户提供更丰富的云计算体验。详情请参考:腾讯云元宇宙计划

以上是腾讯云提供的一些相关产品,它们可以帮助用户在云计算领域进行开发和部署。请根据具体需求选择适合的产品。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 详解bash脚本调试机制

    以调试模式运行脚本 通过bash -x 方式可以在调试模式下运行整个脚本, bash会在在运行前打印出了每一行命令, 而且每行前面用+号表明命令嵌套层数. > bash -x debug.sh...关键字用于在解释出现错误时执行预设操作, 例如打印出错命令: trap 'echo $BASH_COMMAND' ERR 但鉴于使用trap进行调试执行效率过低, 建议在较为复杂脚本中直接使用调试选项或者使用...set -v set -o verbose 打印输入命令 set -x set -o xtrace 命令行首打印+,执行出错会打印详细信息 调试用参数可以在运行动态叠加或删除: > set -...# -x 效果 Fri 28 Feb 2020 06:55:37 PM CST > set +vx # 取消参数 set +vx 通过使用-f选项可以显著减少脚本转义字符: > ls ?...* > ll * -rw-rw-r-- 1 remilia remilia 0 Mar 1 20:09 '*' 到此这篇关于详解bash脚本调试机制文章就介绍到这了,更多相关bash 脚本调试

    1.4K31

    Unity处理脚本之间通信方式技术

    在Unity,可以使用以下几种方式来处理脚本之间通信: 1. 引用: 将一个脚本实例作为变量传递给另一个脚本,通过引用来进行通信。通常用于两个或多个脚本需要频繁交互情况。...例如,在一个脚本定义一个公共变量,并将另一个脚本实例赋值给该变量: // ScriptA.cs public class ScriptA : MonoBehaviour { public ScriptB...事件与委托: 使用事件委托来在脚本之间进行通信。一个脚本可以触发事件,在订阅了该事件其他脚本执行相应操作。...单例模式: 通过单例模式来获取脚本实例,在不同脚本可以通过单例来进行通信。...} } 以上是Unity中常用通信方式技术,根据具体使用场景需求,可以选择适合方式来处理脚本之间通信。

    58231

    bashshell入门

    不过,在某些 Unix like 机器,还是可能需要动用一些手脚, 才能够 让我们输入比较快乐~举例来说,利用 [backspace] 删除,要比利用 [Del] 按键来顺手吧!...Ctrl + S 暂停屏幕输出 Ctrl + Q 恢复屏幕输出 Ctrl + U 在提示字符下,将整列命令删除 Ctrl + Z 『暂停』目前命令 7.5 通配符与特殊符号 在 bash 操作环境还有一个非常有用功能...例如 [0-9] 代表 0 到 9 之间所有数字, 因为数字语系编码是连续!...以上为 bash 环境中常见特殊符号汇整!理论上,你文件名』尽量不要使用到上述字符!...您可以自由转载修改,但请务必注明文章来源作者署名并说明文章非原创且不可用于商业目的。

    94820

    Bash如何从字符串删除固定前缀后缀

    更多好文请关注↑ 问: 我想从字符串删除前缀/后缀。例如,给定: string="hello-world" prefix="hell" suffix="ld" 如何获得以下结果?...如果模式与 parameter 扩展后开始部分匹配,则扩展结果是从 parameter 扩展后删除最短匹配模式(一个 # 情况)或最长匹配模式(## 情况)值 ${parameter...如果模式与 parameter 扩展后末尾部分匹配,则扩展结果是从 parameter 扩展后删除最短匹配模式(一个 % 情况)或最长匹配模式(%% 情况)值。...https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion 相关阅读: 在bash:-(冒号破折号)用法...在Bash如何将字符串转换为小写 在shell编程$(cmd) `cmd` 之间有什么区别 如何从Bash变量删除空白字符 更多好文请关注↓

    40410

    如何在Bash遍历由变量定义数字范围

    问: 当范围由变量给出时,如何在Bash遍历这一范围内数字?...我知道我可以这样做(在 Bash 文档称为“序列表达式”): for i in {1..5}; do echo $i; done 它会输出: 1 2 3 4 5 然而,我该如何用变量替换范围任意一个端点呢...这是一种严格文本处理。Bash 不会对扩展上下文或者花括号之间文本应用任何语法解释。...;expr3));结构工作方式与 C 类似语言中for (expr1;expr2;expr3)一样,并且像其他((expr))情况一样,Bash 将它们视为算术表达式来处理。 ...相关阅读: 如何用Bash遍历文本文件每一行 如何将一个大文本文件拆分为行数相等小文件 在bash:-(冒号破折号)用法 在Bash如何从字符串删除固定前缀/后缀

    21210

    如何从Bash脚本本身获得其所在目录

    问: 如何从Bash脚本本身获得其所在目录? 我想使用Bash脚本作为另一个应用程序启动器。我想把工作目录改为Bash脚本所在目录,以便我可以对该目录下文件进行操作,像这样: $ ....但是在以相对路径方式去执行脚本时,获取目录信息是相对路径,不能满足其他需要获取绝对路径场景。 如果要获取绝对路径,可以使用如下方法: #!...$script_dir 其中第3行代码,无论从何处调用它,都将为你提供脚本完整目录路径。...: [$(dirname $(realpath "$0") )]" 参考: stackoverflow question 59895 相关阅读: 在shell编程$(cmd) `cmd` 之间有什么区别.../(点-斜杠),以便在bash运行它 shell脚本对编码行尾符敏感吗

    31220

    Bash $* $@ 有什么区别

    问: 在许多 SO 问题 bash 教程,我看到我可以通过两种方式在 bash 脚本访问命令行参数: $ cat testargs.sh #!...答: 在 Bash ,* @ 都用于引用传递给脚本或函数所有参数。 当没有双引号包围时,$* $@ 行为是相同。...:请注意,在 "arg" 与数字之间有 2 个空格,但如果我不对 $word 加引号的话: $ for word in "$@"; do echo $word; done arg 1 arg 2 arg...3 在 bash ,"$@" 是要遍历“默认”列表: $ for word; do echo "$word"; done arg 1 arg 2 arg 3 那么估计有同学要问了,有没有在需要..." 有的,在需要以特定方式合并参数时," 假设你想要创建一个字符串,其中包含传递给脚本所有参数,且参数之间由逗号(而不是默认 IFS 分隔符)连接。

    28010

    使用 Bash 脚本从 SAR 报告获取 CPU 内存使用情况

    在本文中,我们添加了三个 bash 脚本,它们可以帮助你在一个地方轻松查看每个数据文件平均值。...脚本 1:从 SAR 报告获取平均 CPU 利用率 Bash 脚本bash 脚本从每个数据文件收集 CPU 平均值并将其显示在一个页面上。...2:从 SAR 报告获取平均内存利用率 Bash 脚本bash 脚本从每个数据文件收集内存平均值并将其显示在一个页面上。...3:从 SAR 报告获取 CPU 内存平均利用率 Bash 脚本bash 脚本从每个数据文件收集 CPU 内存平均值并将其显示在一个页面上。...该脚本与上面相比稍微不同。它在同一位置同时显示两者(CPU 内存)平均值,而不是其他数据。 # vi /opt/scripts/sar-cpu-mem-avg.sh#!

    1.9K30

    如何在Linux 系统上比较Bash脚本字符串?

    Bash 脚本中比较字符串需求相对普遍,可用于在继续执行脚本下一部分之前检查某些条件。 字符串可以是任何字符序列。...在本教程,我们将向您展示如何在Linux 系统上比较Bash 脚本字符串,我们将在一个简单 if/else Bash 脚本上下文中展示这一点,这样您就可以看到在开发脚本时测试这种情况是如何工作...在本教程,您将学习: 如何在 Bash 中比较字符串 比较字符串 if/else Bash 脚本示例 Bash 脚本:字符串比较示例 例1 在 Bash 脚本,您通常会将一个或两个字符串存储为变量...在此示例,我们使用=运算符if语句来确定两个字符串是否彼此相等。该if语句将继续其第一个子句或else原因,具体取决于字符串是否相等。 #!...总结 在本教程,我们了解了如何在 Bash 脚本中比较字符串,尤其是在 Bash 脚本上下文中if/else。

    3.9K00

    从 SAR 报告获取平均 CPU 利用率 Bash 脚本

    大多数 Linux 管理员使用 SAR 报告监控系统性能,因为它会收集一周性能数据。但是,你可以通过更改 /etc/sysconfig/sysstat 文件轻松地将其延长到四周。...如果超过 28,那么日志文件将放在多个目录,每月一个。 要将覆盖期延长至 28 天,请对 /etc/sysconfig/sysstat 文件做以下更改。...在本文中,我们添加了三个 bash 脚本,它们可以帮助你在一个地方轻松查看每个数据文件平均值。 这些脚本简单明了。出于测试目的,我们仅包括两个性能指标,即 CPU 内存。...你可以修改脚本其他性能指标以满足你需求。 从 SAR 报告获取平均 CPU 利用率 Bash 脚本bash 脚本从每个数据文件收集 CPU 平均值并将其显示在一个页面上。...2:从 SAR 报告获取平均内存利用率 Bash 脚本

    1.6K10
    领券