广告
返回顶部
首页 > 资讯 > 服务器 >Shell脚本批量修改文件后缀名代码分享
  • 338
分享到

Shell脚本批量修改文件后缀名代码分享

批量脚本后缀名 2022-06-04 21:06:03 338人浏览 八月长安
摘要

早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片。此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改

早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片。此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改成小写的jpg?

既然要批量替换文件名,那么肯定得用一个for循环依次遍历指定目录下的每个文件。对于每个文件,假如该文件的名称为name.oldext,那么我们必须原始文件名中挖出name,再将它与新的文件扩展名newext拼接形成新的文件名name.newext。依照这样的思路,就诞生了下面的脚本:

#!/bin/bash

oldext="JPG"

newext="jpg"

dir=$(eval pwd)

for file in $(ls $dir | grep .$oldext) do name=$(ls $file | cut -d. -f1) mv $file ${name}.$newext done echo "change JPG=====>jpg done!"

下面对针对这个程序作简单说明:
1.变量oldext和newext分别指定旧的扩展名和新的扩展名。dir指定文件所在目录;
2.“ls $dir | grep .$oldext”用来在指定目录dir中获取扩展名为旧扩展名的所有文件;
3.在循环体内先利用cut命令将文件名中“.”之前的字符串剪切出来,并赋值给name变量;接着将当前的文件名重命名为新的文件名。

通过这个脚本,所有照片的扩展名都成功修改。为了使这个脚本更具有通用型,我们可以增加几条read命令实现脚本和用户之间的交互。改进版的脚本如下:

#!/bin/bash

read -p "old extension:" oldext

read -p "new extension:" newext

read -p "The directory:" dir

cd $dir

for file in $(ls $dir | grep .$oldext) do name=$(ls $file | cut -d. -f1) mv $file ${name}.$newext echo "$name.$oldext ====> $name.$newext" done

echo "all files has been modified."

附:另一个版本

#!/bin/sh

# file name : rename_suffix.sh

# author: zhouhh

# Email: ablozhou@gmail.com

# Date : 2008.4.1

 

echo "input what suffix will be replaced :"

read SUFFIX_SRC

echo "input what suffix of file to rename to:"

read SUFFIX_DST

 

 

for i in *.$SUFFIX_SRC

do

    if [ -e $i ]; then

        echo "mv $i to `basename $i .$SUFFIX_SRC`.$SUFFIX_DST"

        mv $i `basename $i .$SUFFIX_SRC`.$SUFFIX_DST

    else

        echo "file does not exist."

        exit -1

    fi

 

done

--结束END--

本文标题: Shell脚本批量修改文件后缀名代码分享

本文链接: https://www.lsjlt.com/news/17768.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Shell脚本批量修改文件后缀名代码分享
    早上本想将一些照片上传到相册中,但是由于所有照片的扩展名都是JPG而不是小写的jpg,因此造成了“格式不正确”而不能上传照片。此刻就产生了这样一个问题:使用shell脚本如何批量将所有文件的扩展名JPG都改...
    99+
    2022-06-04
    批量 脚本 后缀名
  • 如何编写Shell脚本批量修改文件后缀名代码
    本篇内容介绍了“如何编写Shell脚本批量修改文件后缀名代码”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!代码如下:#!/bin/basho...
    99+
    2023-06-09
  • linux中批量修改文件名的脚本代码
    使用 rename 命令 ======================== NAME rename - Rename files SYNOPSIS rename from to file... ======...
    99+
    2022-06-04
    文件名 批量 脚本
  • windows怎么批量修改文件后缀名
    今天小编给大家分享一下windows怎么批量修改文件后缀名的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。批量修改文件后缀名的...
    99+
    2023-07-01
  • Shell脚本批量重命名文件后缀的3种实现
    今天突然间想起昨天有个问题还没动手实践下,就是利用shell批量修改文件的后缀,现在动手实践一下。 需求:家目录下有一些sql文件,想批量重命名成txt的 1、find + xargs +sed find...
    99+
    2022-06-04
    后缀 批量 脚本
  • 使用iconv批量改变文件编码的shell脚本分享
    这篇文章主要介绍“使用iconv批量改变文件编码的shell脚本分享”,在日常操作中,相信很多人在使用iconv批量改变文件编码的shell脚本分享问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”使用iconv...
    99+
    2023-06-09
  • Win7、Win8、Win10下批量修改文件后缀名技巧
    通常我们修改或添加单个文件的后缀名都是通过在文件上右键单击——重命名来完成的,但是如果我们需要修改多个文件的后缀名,这么做显然太繁琐。这时不妨试试Windows的ren(rename)命令,该命令...
    99+
    2023-06-14
    Win7 Win8 Win10 批量修改 文件后缀名 后缀名 文件
  • shell脚本中使用iconv实现批量文件转码的代码分享
    在开发中,我们经常需要对N多文件编码进行更改,iconv只能对单文件的进行更改,怎么办呢?我们写一个shell脚本来解决这个问题。 例子一:使用shell脚本实现批量转码的操作。 #!/bin/sh ...
    99+
    2022-06-04
    批量 脚本 代码
  • Shell脚本批量重命名文件后缀的3种实现方法介绍
    本篇内容主要讲解“Shell脚本批量重命名文件后缀的3种实现方法介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Shell脚本批量重命名文件后缀的3种实现方法介绍”吧!需求:家目录下有一些sq...
    99+
    2023-06-09
  • Shell脚本遍历目录并批量修改文件编码
    在将windows上的jsp网页移植到linux环境中时,发现一个个的转换编码及修改默认编码类型太慢,写此脚本进行尝试文件遍历~ 好久不写,手生了。 #!/bin/bash # # SPATH="/...
    99+
    2022-06-04
    遍历 批量 脚本
  • expect实现批量修改linux密码脚本分享
    最近对linux批量执行的脚本很感兴趣,在网上到处找有关expect批量执行脚本,今天就给大家共享一个批量修改密码的脚本. 脚本内容: #!/usr/bin/expect if { $argc<...
    99+
    2022-06-04
    批量 脚本 密码
  • 查找目录下同名但不同后缀名文件的shell脚本代码
    因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大概十层左右,每一层又有几十个文件,所以人工找起来非常麻烦,所以写了个脚本,帮他们实现查找指定目录下所有子目录及...
    99+
    2022-06-04
    脚本 后缀名 代码
  • Shell脚本实现检测文件是否被修改过代码分享
    #!/bin/bash funmd5_1() { find /root/passwd -type f | xargs md5sum > /tmp/funmd5_1.log } funmd5_2() ...
    99+
    2022-06-04
    脚本 代码 文件
  • Python批量修改文件名实例操作分享
    此处以修改图片文件名为例,将图片复制到新的目录中再修改名称~ 原始文件名如下: 修改后的效果如下: 代码: 实现将one文件夹中的每一个图片复制到two文件夹并修改图片名为按照...
    99+
    2022-11-10
  • python文件名批量重命名脚本实例代码
    python文件名批量重命名脚本 #encoding=utf-8 import cv2 import os import shutil base_dir = r'文件所在的文件...
    99+
    2022-11-12
  • BAT脚本批量修改文件名的两种方法
    目录一,先进入想要修改文件名的文件夹中,使用命令:1、以示例文档为例进行说明2.双击1.bat来生成yuan.xls文件,如下图:二、直接通过BAT脚本实现通过BAT脚本批量修改文件...
    99+
    2022-11-13
  • bash批量修改文件名称的方法小结(增加,去除,修改后缀)
    一、加后缀 1.问题:同以目录下有海量以日期命名的文件,其中有的有后缀,有的以点结尾,如20020101.,20020102.,……,20020101.td,20020102.td……要求: 把所有以点结尾...
    99+
    2022-06-04
    后缀 小结 文件名称
  • Shell脚本实现批量下载网络图片代码分享
    最近为了做好一个天气预报的项目,需要从Yahoo下载一些天气图标,但是由于图标比较多,有80多张。图标是存储在Yahoo Image网站上的。 迅雷不支持https的下载,虽然可以在浏览器下载,但是在浏览器...
    99+
    2022-06-04
    批量 脚本 代码
  • BAT脚本批量修改文件名的方法有哪些
    本文小编为大家详细介绍“BAT脚本批量修改文件名的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“BAT脚本批量修改文件名的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。通过BAT脚本批量修改...
    99+
    2023-06-30
  • 如何实现查找目录下同名但不同后缀名文件的shell脚本代码
    这篇文章主要介绍如何实现查找目录下同名但不同后缀名文件的shell脚本代码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!因为后台录入的同事,上传文件的时候,给文件取了相同的名字,但不同的后缀名,由于文件路径非常深,大...
    99+
    2023-06-09
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作