您现在的位置是:网站首页> 编程资料编程资料
使用shell脚本判断文件后缀的方法实例_linux shell_
2023-05-26
376人已围观
简介 使用shell脚本判断文件后缀的方法实例_linux shell_
shell脚本判断文件后缀
有时候需要判断文件名后缀来区分文件类型,进而进行不同的操作。以下是获取文件名后缀和文件名前缀的两个函数,由于shell脚本函数只能返回0-255,为了将结果返回,就直接使用echo输出,可以用$()进行捕获。
#!/bin/bash # --------------------------------------------------------------------------- # # 获取文件名后缀 # Parameter1: 文件名 # output: Yes # return: None # --------------------------------------------------------------------------- # function FileSuffix() { local filename="$1" if [ -n "$filename" ]; then echo "${filename##*.}" fi } # --------------------------------------------------------------------------- # # 获取文件名前缀 # Parameter1: 文件名 # output: Yes # return: None # --------------------------------------------------------------------------- # function FilePrefix() { local filename="$1" if [ -n "$filename" ]; then echo "${filename%.*}" fi } 使用示例:
# --------------------------------------------------------------------------- # # 判断文件后缀是否是指定后缀 # Parameter1: 文件名 # parameter2: 后缀名 # output: None # return: 0: 表示文件后缀是指定后缀;1: 表示文件后缀不是指定后缀 # --------------------------------------------------------------------------- # function IsSuffix() { local filename="$1" local suffix="$2" if [ "$(FileSuffix ${filename})" = "$suffix" ]; then return 0 else return 1 fi } file="demo.txt" IsSuffix ${file} "txt" ret=$? if [ $ret -eq 0 ]; then echo "the suffix of the ${file} is txt" fi附shell提取文件后缀名,并判断其是否为特定字符串
如果文件是 .css文件 或 .js文件,则进行处理。
file=$1 if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "js"x ];then do something fi注意:
1> 提取文件后缀名: ${file##*.}
##是贪婪操作符,从左至右匹配,匹配到最右边的.号,移除包含.号的左边内容。
2> 是=,而且其两边有空格,如果没有空格,会报错
3> 多加了x,是为了防止字符串为空时报错。
查找当前目录下文件名中包含.py,.sh,.css,.js,.html时,
for n in `find . -name "*.py" -o -name "*.sh" -o -name "*.css" -o -name "*.js" -o -name "*.html"`; do something done
注意:
1> 查找当前目录下文件名末尾字符为.py,或.sh,或.css,或.js,或.html的文件,并处理
总结
到此这篇关于使用shell脚本判断文件后缀的文章就介绍到这了,更多相关shell脚本判断文件后缀内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
相关内容
- Shell命令中的特殊替换、模式匹配替换、字符串提取和替换的实现_linux shell_
- shell命令执行hive脚本(hive交互)_linux shell_
- Shell 命令启动Docker Container的实现_linux shell_
- shell中的curl网络请求的实现_linux shell_
- 利用shell命令删除指定的文件的方法_linux shell_
- shell 脚本中获取命令的输出的实现示例_linux shell_
- shell命令之mv的具体使用_linux shell_
- shell命令返回值判断的方法实现_linux shell_
- Shell中关于exit 0的那些坑_linux shell_
- bash shell获取当前脚本的绝对路径(pwd/readlink)_linux shell_
