批处理重命名特殊文件名-shell
来源:互联网 发布:python classmethod 编辑:程序博客网 时间:2024/05/21 15:50
批处理重命名特殊文件名
原题如下
该题目简化为如下
有文本4.txt如下:
一b!a!1235@_ s%#8i 三 c.rar
h^e12 0~%l%!p!@. s321-的文件.txt
%o%%% !O!ffi9~ ce$- Wor8d29 文档.docx
将这三行中的数字、汉字、特殊字符全部(含空格)去掉,而重命名为只含字母的文件,但后缀名不能更改,重命名后:
basic.rar
helps.txt
oOfficeWor.docx
编写代码
#! /bin/bashfile=4.txtwhile read linedo newStr=${line} #获取字符串长度 len=${#newStr} i=0 # 保留输出字符串 str= while [ ${i} -lt ${len} ] do newStr=${line} # 截取第i个字符 c=${newStr:${i}:1} # 判断第i个字符是否为:字母和文件后缀点 case ${c} in [a-zA-Z]) str=${str}${c} ;; .) str=${str}${c} ;; esac let i++ done # 从左边开始删除最后(最右边)一个 . 号及左边的所有字符 right=${str##*.} # 表示从右边开始,删除第一个 . 号及右边的字符 left=${str%.*} # //替换所有字符 /替换第一个出现的字符 newleft=${left//./} echo ${newleft}"."${right}done < ${file}
运行结果
参考文档
shell 判断字符串是否为数字:http://blog.csdn.net/beckdon/article/details/16858201
Shell 变量的截取:http://www.runoob.com/linux/linux-shell-variable.html
case语句的使用:http://www.runoob.com/linux/linux-shell-process-control.html
阅读全文
0 0
- 批处理重命名特殊文件名-shell
- 批处理——重命名特殊文件名
- 批处理——重命名特殊文件名
- 一个批量重命名文件名的shell脚本
- shell 文件名分割,重命名移动批量文件
- 重命名批处理
- 批处理、shell 使用日期时间作为文件名的方法
- shell脚本,操作的文件名包含特殊字符
- 利用递归重命名文件名
- linux -- 批量重命名文件名
- C#重命名文件名
- 批量重命名文件名
- C#重命名文件名
- bat重命名文件名
- 批量重命名文件名
- python 递归 重命名文件名
- matlab批量重命名文件名
- 批处理批量重命名
- [js高手之路]设计模式系列课程-设计一个模块化扩展功能(define)和使用(use)库
- 九度 题目1438:最小公倍数
- 9.6
- Android中js与本地方法进行相互调用
- lua调用C函数
- 批处理重命名特殊文件名-shell
- 回调机制
- 4、重识MySQL-MySQL命令之编码处理
- linux常用命令
- (2)基于Echarts插件的多维数据可视化设计和实现
- 安全体系(二)——RSA算法详解
- Codeforces 851 B Arpa and an exam about geometry
- HDU 6095 Rikka with Competition(水~)
- oracle中exp,imp(导入,导出)的使用详解