`

用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版代码的可以找我要^_^仅限友人哈

分享到:
评论

相关推荐

    Linux shell脚本编写基础

    在进行linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名, 例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了。。 每行命令开头处不用就空格也行。。 第1...

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

    这篇文章介绍的是如何使用脚本批量修改属性名称,后续还有系列的包括使用脚本批量修改类名称、方法名称等信息的文章。 结果 下面是执行脚本替换了属性的结果图,脚本把所有需要替换的属性添加了abc后缀,当然依然是...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在使用mount这个指令时,至少要先知道下列三种信息:要加载对象的文件系统类型、要加载对象的设备名称及要将设备加载到哪个目录下。 (1)Linux可以识别的文件系统 ◆ Windows 95/98常用的FAT 32文件系统:vfat ;...

    cmd操作命令和linux命令大全收集

    del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同) move 盘符路径要移动的文件名 存放移动文件的路径...

    网管教程 从入门到精通软件篇.txt

    CIN:OS/2改变控制文件用于跟踪INI文件中的变化 CLASS:Java类文件 CLP:Windows 剪贴板文件 CLL:Crick Software Clicker文件 CLS:Visual Basic类文件 CMD:Windows NT,OS/2的命令文件;DOS CD/M命令文件;...

    易语言 茶凉专用模块

    参数 图标文件, 文本型, 可空, 图标文件的路径 可空:为空时用目标的第一个图标 .参数 运行方式, 整数型, 可空, 1,常规方式,3,最大化,7,最小化 .参数 备注, 文本型, 可空, 快方式的备注信息 .参数 快捷键, 文本型, ...

    易语言程序免安装版下载

    “库文件名”以.lib或.obj为后缀的将被视为静态库,可使用绝对路径或相对路径(相对当前源代码所在目录),如依赖多个静态库请分别列出并以逗号分隔;“在库中的对应命令名”请务必准确填写静态库中公开导出的符号...

    Python复习笔记

    在文件中编写Python脚本 文件后缀为.py 进入该文件所在目录 直接执行./xxx.py IDE模式: pycharm pyDev for Eclipse **Python编码 Python默认读取py文件时采用的编码格式是 ASCII 格式,如果文件不是该格式...

    DarkShell_Linux-Win集群版V2014年

    服务端纯SDK打造,无MFC类,体积小巧,方便免杀,采用Shell Code特殊方式注入,无DLL穿越防火墙自动探测系统是否支持raw发包 提升攻击效率30%,注册服务启动,安全稳定。客户端使用IOCP完成端口上线,无上线限制,...

    key2debug:将 Android 密钥库转换为调试密钥库

    该脚本不会覆盖现有的密钥库,它会创建一个带有 .debug 后缀的新密钥库。 要求 任何 linux 发行版。 已安装和可用的 keytool(与 android SDK 一起提供) 你也必须知道 密钥的密码 别名及其密码 用法 具有根访问...

    systemAdmin:有关RHEL系统管理的各个主题的注释

    我在了诸如历史记录和安全性改进之类的内容,以及希望保留的脚本创意。 我的安装了当前版本的OpenSSL,创建了主机证书签名请求和证书颁发机构。 在上有一个部分,它安装了当前版本的 ( )。 我刚刚开始设置一个...

Global site tag (gtag.js) - Google Analytics