shell提取文件后缀名,并判断其是否为特定字符串

如果文件是 .css文件 或 .js文件,则进行处理。

file=$1

if [ "${file##*.}"x = "css"x ]||[ "${file##*.}"x = "js"x ];then

    do something

fi

注意:

1> 提取文件后缀名: ${file##*.}

##是贪婪操作符,从左至右匹配,匹配到最右边的.号,移除包含.号的左边内容。

这里可以参考 http://www.1987.name/264.html

2> 是=,而且其两边有空格,如果没有空格,会报错

3> 多加了x,是为了防止字符串为空时报错。

这里可以参考http://qubaoquan.blog.51cto.com/1246748/292461

查找当前目录下文件名中包含.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的文件,并处理

样例如下:

#!/bin/bash
PROD_WAR=/home/w/rod/rod.war
function check_war(){
	for D in ${PROD_WAR[@]}
            do
		echo $D
                if [ "${PROD_WAR##*.}"x = "war"x ];then
                   echo "check war file [${PROD_WAR}] success"
                   return 1
                fi
	    done
            return 0
}

check_war
if [ $? != 1 ];then
    echo "Fail, invalid argument port: [${PROD_WAR}]"
    exit 0;
fi

  

原文地址:https://www.cnblogs.com/xzlive/p/9485980.html

时间: 2024-11-10 13:55:07

shell提取文件后缀名,并判断其是否为特定字符串的相关文章

js 上传文件后缀名的判断 var flag=false;应用

js 上传文件后缀名的判断  var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &

Linux下的文件及文件后缀名

1.使用扩展名的背景意义: 一谈到文件类型,大家就能想到Windows的文件类型,比如file.txt.file.doc.file.sys.file.mp3.file.exe等,根据文件的后缀就能判断文件的类型.但在Linux一个文件是否能被执行,和后缀名没有太大的关系,主要看文件的属性有关.但我们了解一下Linux文件的后缀名还是有必要的,特别是我们自己创建一些文件,最好还是加后缀名,这样做的目的是仅仅是为了我们的在应用时方便. 现在的Linux桌面环境和Windows一样智能化,文件的类型是

使用C语言获取文件后缀名的技巧

其实原来一直以为,C语言对于处理文件后缀名这种事是有点力不从心的(只能通过自己写一个小函数完成这种小需求),maybe C++可以有实现这种功能的STL或者类,但是因为本人对C++知之甚少,也就不在这里献丑了.今日上网本来想搜一段别人写好的代码片段,修改修改拿来用的,不过偶然在csdn论坛上有人提到了一个名叫_splitpath的c函数,貌似可以获取一个文件完整路径的各个部分,当然也包括后缀名了.既然有标准文件名处理函数,岂有不用之理.这里,小弟便为大家详解一下这个函数,以后有用到类似需求的时候

BAT-批量改文件后缀名

问题现象:在处理一个目录时,发现JPG文件都是以TMP文件命名的.双击打不开.要手动改一个为JPG. 问题处理: 1.新建一个TXT文件,内容写如下: ren *.tmp *.jpg 2.把TXT改为BAT文件后缀名. 3.把这个BAT文件放在要改后缀的文件同目录下面. 4.双击BAT文件就可以了.

-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作

2011-07-05 08:57 ARCGIS地统计学计算文件后缀名为.shp文件制作 ARCAMP软件要进行地统计计算的文件后格式后缀名必须为.shp的文件,网上介绍的方法复杂难懂,那么制作.shp的文件怎么制作呢? 1.打开ArcMAP软件,点菜单栏“工具”下拉菜单中的“添加XY数据”,出现“添加XY数据”对话框,添加电子表格数据 “.dbf3”格式文件(参考“用ArcGIS9.3中标出地图中GPS点方法”第3点),点确定,GPS采集点出来了. 2.右单击图层栏刚才“添加XY数据”进来的文件

文件后缀名 &nbsp; 、linux 和windows 互传文件 文件后缀名

文件后缀名   .linux 和windows 互传文件 文件后缀名 在linux 下面 命令 文件 都区分大小写 大写的 LS 就识别不了 ls 这个命令 LANG=en  就显示成英文 linux 和windows 互传文件 首相只能使用远程工具 xshell  .securecrt 首先安装一个包 yum install  -y lrzsz sz + 文件名   把linux 上的文件 传到  windows上 把 linux 上的 4.txt 传到windows 上 使用rz 回车 就可

VC获取文件后缀名

VC获取文件后缀名 2011-07-28 10:30:50|  分类: Visual C++ and O |  标签: |举报 |字号大中小 订阅 1. CString GetSuffix(CString strFileName) {         return strFileName.Right(strFileName.GetLength()-strFileName.ReverseFind('.')-1); }2.PathFindExtension3.忽略大小写方法 CString::Mak

分析复制文件,在复制过程中更改文件后缀名

这是我自己的做法: 将一个目录下的所有.java文件复制到另一个目录,但是要在复制的过程中更改文件后缀名. 思路:跟上一个一样,只是动作稍稍有一些不同,直接上代码 package pack; import java.util.*; import java.io.*; class CopyRenameFile{ public static void main(String[] args)throws IOException{ File dir=new File("E:\\JAVASE\\JAVA复

手闲 用Lua写了个批量修改文件后缀名的小工具

1 --[[-- 2 - renameFilePostfix_: 统一重命名文件的后缀名 3 - @param: param1 - 原文件后缀名 4 - @param: param2 - 目的文件后缀名 5 - @param: param3 - 目的文件前缀名 6 - @param: param4 - 目的文件文件夹路径 7 - @param: param5 - 原文件路径 8 - @param: ... 9 - @param: paramn - 原文件路径 10 11 ]] 12 local