linux批量去掉文件后缀名

技术介绍

在Linux系统中,我们可以使用命令行工具来批量删除文件的后缀名,这里我们主要使用两个命令:renamefor,我们需要安装这两个工具,在Debian/Ubuntu系统中,可以使用以下命令安装:

sudo apt-get install rename

在CentOS/RHEL系统中,可以使用以下命令安装:

linux批量去掉文件后缀名

sudo yum install rename

接下来,我们将详细介绍如何使用这两个工具来批量删除文件的后缀名。

使用rename命令

1、创建一个文本文件,例如file_list.txt,在其中列出需要修改后缀名的文件名,每个文件名占一行。

file1.txt file2.txt file3.jpg file4.docx

2、使用rename命令,结合正则表达式来匹配并修改文件名,在本例中,我们将匹配所有没有.的文件名,并在其末尾添加.bak后缀,运行以下命令:

cat file_list.txt | rename 's/\.[^.]*$//' | xargs -I {} touch {}.bak

解析:

cat file_list.txt:读取file_list.txt中的文件名列表。

rename 's/\.[^.]*$//':使用正则表达式替换,将没有.的文件名替换为原文件名。

linux批量去掉文件后缀名

xargs -I {} touch {}.bak:使用xargs命令,为每个文件创建一个新的.bak后缀的文件。

使用for循环和shell脚本

1、创建一个名为batch_rename.sh的shell脚本,并在其中编写以下内容:

!/bin/bash
for file in *; do
  if [[ ! $file =~ \.[^\.]+$ ]]; then
    mv "$file" "${file}.bak"
  fi
done

2、为脚本添加可执行权限:

chmod +x batch_rename.sh

3、在包含需要修改后缀名的文件的目录下运行脚本:

./batch_rename.sh

相关问题与解答

1、如何只删除特定类型的文件后缀?只删除.log类型的文件后缀?可以将正则表达式修改为.*\.log$,即只匹配以.log结尾的文件名,代码如下:

cat file_list.txt | rename 's/\.[^.]*\.log$//' | xargs -I {} touch {}.bak

2、如何批量重命名多个目录下的文件?可以将脚本放到一个循环中,遍历所有需要修改后缀名的目录。

!/bin/bash
dirs=(dir1 dir2 dir3)  需要修改后缀名的目录列表
for dir in "${dirs[@]}"; do
  for file in "$dir"/*; do
    if [[ ! $file =~ \.[^.]+$ ]]; then
      mv "$file" "${file}.bak"
    fi
  done
done

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/135054.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2023-12-16 17:39
Next 2023-12-16 17:42

相关推荐

  • 如何在Linux系统中创建MySQL数据库表?

    要在Linux上创建MySQL数据库,首先确保已经安装了MySQL服务器。打开终端,使用以下命令登录到MySQL服务器:,,``bash,mysql u root p,`,,输入密码后,使用以下SQL语句创建数据库:,,`sql,CREATE DATABASE 数据库名称;,``,,将“数据库名称”替换为您想要的数据库名称。

    2024-07-30
    075
  • 在linux中怎么查找文件内容

    在Linux中查找文件内容是一项非常常见的任务,无论是开发人员还是系统管理员,都需要掌握这项技能,下面将详细介绍如何在Linux中查找文件内容。我们可以使用`grep`命令来查找文件内容,`grep`是一个强大的文本搜索工具,它可以在文件中搜索指定的模式,并将匹配的行打印出来,以下是使用`grep`命令的基本语法:grep &……

    2023-11-29
    0126
  • 怎么在Linux上使用Osquery设置文件完整性监控

    在Linux上使用Osquery设置文件完整性监控Osquery是一个开源的SQL驱动的操作系统查询工具,它可以用于收集和分析系统信息,Osquery的一个强大功能是它能够监控文件系统的完整性,通过使用Osquery,你可以实时监控文件的变化,检测潜在的恶意活动或者系统错误。以下是如何在Linux上使用Osquery设置文件完整性监控……

    2023-12-31
    0113
  • linux chown命令的用法

    Linux基础命令chown的用法在Linux系统中,chown命令用于更改文件或目录的所有者和所属组,通过使用chown命令,我们可以轻松地管理文件和目录的所有权,本文将详细介绍chown命令的用法,并提供一些示例代码。chown命令的基本语法chown [选项] 用户名[:组名] 文件或目录选项可以是以下之一:-R:递归地更改指定……

    2023-12-18
    0139
  • 程序员为什么用linux

    【程序员用linux的原因是什么】在计算机领域,Linux操作系统以其稳定性、安全性、开源性和强大的功能而受到广泛关注和喜爱,作为一名程序员,选择使用Linux作为开发工具的主要原因有以下几点:1、系统稳定性:Linux操作系统的稳定性是其最大的优势之一,由于其内核设计简洁,没有复杂的资源调度和管理机制,因此在运行过程中很少出现崩溃或……

    2023-12-13
    0215
  • linux中etc目录的作用

    在Linux系统中,/etc目录是一个非常重要的目录,它包含了系统和应用程序的各种配置文件,这些配置文件用于管理系统的各个方面,如网络设置、用户管理、服务管理等,本文将详细介绍/etc目录的作用以及其中的一些常用配置文件。/etc目录的作用1、系统管理/etc目录包含了大量与系统管理和维护相关的配置文件。passwd文件存储了系统用户……

    2023-12-13
    0245

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入