`

用shell脚本 改变某目录下一类文件的后缀

阅读更多



     编写这个功能主要是由于我的汉王电子书不能查看.asm, .java等格式的文件,因此我需要把他们的

后缀改成.txt,不过需要看的东西太多了,索性写一个程序解决!

     之前用java写了个改后缀和编码的程序,打成jar包,但由于兼容性问题,运行不了。故此,在

Linux下,直接写一个shell脚本来做:

#######################################################################
#changeSuffix.sh——改文件后缀名

echo "请输入一个绝对路径,本脚本将把其下和其子目录下的所有后缀为.asm的文件改名为.txt"
echo "(e.g. /home/hadoop/Desktop/chapter3)"
read myPath
find $myPath -name *.asm -print>/home/hadoop/Desktop/temptemptemp.txt


while read line
do
  echo "mv" $line
  dest=${line/".asm"/".txt"}
  mv $line $dest
done < /home/hadoop/Desktop/temptemptemp.txt

rm -rf /home/hadoop/Desktop/temptemptemp.txt
#######################################################################

 


核心参考资料:
1、shell中字符串的处理
表达式     含义
${#string}     $string的长度
   
${string:position}     在$string中, 从位置$position开始提取子串
${string:position:length}     在$string中, 从位置$position开始提取长度为$length的子串
   
${string#substring}     从变量$string的开头, 删除最短匹配$substring的子串
${string##substring}     从变量$string的开头, 删除最长匹配$substring的子串
${string%substring}     从变量$string的结尾, 删除最短匹配$substring的子串
${string%%substring}     从变量$string的结尾, 删除最长匹配$substring的子串
   
${string/substring/replacement}     使用$replacement, 来代替第一个匹配的$substring
${string//substring/replacement}     使用$replacement, 代替所有匹配的$substring
${string/#substring/replacement}     如果$string的前缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
${string/%substring/replacement}     如果$string的后缀匹配$substring, 那么就用$replacement来代替匹配到的$substring
2、需要java版代码的可以找我要^_^仅限友人哈

分享到:
评论

相关推荐

    Shell 脚本编程实战100例.pdf

    从提供的文件内容来看,这是一本关于Shell脚本编程的实战教程书籍,以实例的方式教授读者如何使用Shell脚本来完成各种Linux系统运维任务。下面将详细介绍从给出的内容中能够总结出的一些Shell脚本编程知识点。 首先...

    Shell编程.pdf

    Shell 脚本语言的好处是简单、易学、易用,适合处理文件和目录之类的对象,以简单的方式快速完成某些复杂的事情。 1. Shell 是什么 Shell 是一块包裹着系统核心的壳,处于操作系统的最外层。 Shell 是一个用 C ...

    Linux下各种后缀名介绍

    要运行一个Shell脚本,可以使用以下命令: - 执行Shell脚本:`bash scriptname.sh` ### 5. 配置与编译 当处理源代码时,通常会涉及编译过程。以下是一般的编译和安装步骤: 1. **配置**:`./configure`,这一步...

    iOS通过shell脚本批量修改属性

    总结来说,通过shell脚本批量修改属性是一种有效的混淆手段,它可以改变二进制文件中的符号表,降低因内容重复而被App Store拒绝的风险。然而,开发者应当意识到,苹果的审核策略可能不断进化,因此需要持续关注并...

    三阶段shell课件.pdf

    根据提供的文件内容,我们可以提取以下关于Shell脚本的重要知识点: 1. Shell概述: - Shell是一种命令解释器,用于接收用户的指令并驱动操作系统和硬件。 - Linux系统中存在多种Shell,包括但不限于Bourne Shell...

    IT项目运维资料-shell编写规范1218.pdf

    例如,可执行脚本使用.sh后缀,配置文件使用.conf或.ini,日志文件使用.log,数据文件使用.dat或.data,进程PID文件使用.pid,临时文件使用.开头加.tmp,公共组件则以.comm结尾。文件名应简洁明了,不超过15个字符。...

    shell 批量压缩指定目录及子目录内图片的方法

    在Linux或类Unix系统中,shell脚本是一种自动化任务执行的工具,通过编写简单的命令组合,可以实现批量处理任务。在这个案例中,我们使用的shell命令包括`find`、`if`条件语句、`for`循环以及`convert`(来自于...

    Python实现批量更换指定目录下文件扩展名的方法

    Python 作为一种简洁高效的脚本语言,在处理文件和目录方面具有强大的功能,下面我们就来详细探讨如何用 Python 来批量更换指定目录下文件的扩展名。 #### 实现原理 Python 提供了多种方法来遍历目录和修改文件名...

    LINUX与UNIX+SHELL编程指南全

    2. **文件系统**:它们采用层次结构的文件系统,根目录`/`下包含各种系统目录,如`bin`(二进制命令)、`etc`(配置文件)和`usr`(用户程序)。 3. **命令行界面**:提供终端模拟器,通过命令行接口执行操作,如`ls...

    SHELL编程

    从给定的文件信息来看,主题是关于SHELL编程,这是一种在Unix和类Unix系统(如Linux)中广泛使用的脚本语言。SHELL编程允许用户自动化任务、处理文本和文件、执行系统管理任务等,是系统管理员和开发人员的重要工具...

    很好的Shell总结教程

    编写Shell脚本的第一步是创建一个新的文本文件,并在文件开头声明所使用的Shell类型,通常以`#!/bin/bash`开头表示使用Bash Shell。接下来可以在文件中添加各种命令和逻辑,保存后通过运行`chmod +x scriptname.sh`...

    经典批处理编程简明教程

    从更广泛的意义上讲,UNIX的Shell脚本以及其他操作系统或应用程序中由外壳程序解释执行的文本文件,也具有与批处理文件相似的功能。这类文本文件统称为脚本语言。 #### 批处理文件的特点 - **文本文件格式**:...

    批量文件重命名工具

    1. 图形界面工具:这类工具通常提供直观的用户界面,用户可以选择一个目录,然后设置重命名规则,比如添加前缀、后缀、数字序列等。"FileRename"可能就是这样一个工具,允许用户根据需求定制文件的新名称格式。 2. ...

    bash shell programming

    Bash Shell 编程是一种在 Unix 和类 Unix 操作系统(如 Linux)上广泛使用的脚本编程方式。通过 Bash Shell 编程,用户可以自动化执行一系列命令或任务,极大地提高了工作效率。本文将详细介绍 Bash Shell 编程的...

    用于自动执行Go语言工具单用户安装甚至删除的简单Bash脚本。___下载.zip

    描述中提到的是一个下载链接的后缀,虽然具体信息不全,但可以推测这个`.zip`文件包含了这个Bash脚本的源代码。通常,当用户下载并解压这个文件后,会得到一个包含脚本的目录或者文件,用户可以通过运行这个脚本来...

    Advanced Bash−Scripting Guide

    《高级Bash脚本编程指南》是一份详尽的、深度探索shell脚本艺术的教程,由Mendel Cooper编写,版本更新至4.1,最后修订于2006年10月8日。这份指南不仅适合初学者,也适用于希望提升到中级乃至高级水平的读者。它不...

    linux命令和windows命令的区别

    * Linux 文件系统中,文件没有固定的后缀名,后缀名只起一个注释的作用 * Windows 文件系统中,文件必须有后缀名,后缀名可以代表当前文件的性质 用户管理 Linux 和 Windows 的用户管理也有所区别: * Linux 用户...

Global site tag (gtag.js) - Google Analytics