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
shell提取文件后缀名,并判断其是否为特定字符串的更多相关文章
- js 上传文件后缀名的判断 var flag=false;应用
js 上传文件后缀名的判断 var flag=false;应用 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
- [Java] 03 String获取文件后缀名,判断文件是否合法
package test.string; import java.util.Arrays; import java.util.List; public class GetFileType { priv ...
- Shell获取文件后缀名
file = "thisfile.txt" echo "filename: ${file%.*}" echo "extension: ${file## ...
- shell判断文件后缀名是否为特定字符串
如果文件是 .css文件 或 .js文件,则进行处理. if [ "${file##*.}"x = "css"x ]||[ "${file##*.}& ...
- Linux下的文件及文件后缀名
Linux下的文件及文件后缀名 2013-03-14 15:34 6969人阅读 评论(0) 收藏 举报 ++++++++++++++++++++++++++++++++++++++正文+++++++ ...
- linux下怎样批量更改文件后缀名
今天又有同学问linux下怎样批量更改文件后缀名,这个问题被别人问到三次了,所以这里给出几个解决方法 一.rename解决 1. Ubuntu系统下 rename 's//.c//.h/' ./* ...
- Python3 批量更改文件后缀名
Python3 批量更改文件后缀名 示例: # coding:utf8 import os import sys def Rename(): #Path = "F:\\test\\" ...
- return 通过文件后缀名得到的函数字符串
<?php//图片处理工具类class Image{//属性private $thumb_width; //缩略图的宽private $thumb_height;//错误属性public $th ...
- 关于Windows下的文件后缀名问题
一.背景说明 有很多的小伙伴对windows下的文件后缀名不能很好地理解作用和区别,更不用说高深的使用了,在这里给大家说一下这些文件后缀名到底有什么区别,有什么作用呢? 二.说明 简单的说来,wind ...
随机推荐
- ThiNet: A Filter Level Pruning Method for Deep Neural Network Compression笔记
前言 致力于滤波器的剪枝,论文的方法不改变原始网络的结构.论文的方法是基于下一层的统计信息来进行剪枝,这是区别已有方法的. VGG-16上可以减少3.31FLOPs和16.63倍的压缩,top-5的准 ...
- ABP编译必须添加对程序集“netstandard, Version=2.0.0.0错误
当前使用ABP版本为:4.6.0 升级vs2017到15.4版本,升级framework到4.7版本 如果Core版本请升级到net core 2
- Ping命令的另一种使用方法
今天实习结束休息的时候无聊,于是便想看看机房有多少机器,IP是什么,有没有什么小漏洞. 依次使用了netstat.ping.Telnet以后,不小心输入了这样一个东西 当时按下回车以后,心里想的是这样 ...
- 软件工程_5th weeks
从周五开始经历了清明小长假,周六.周日和周一都处于假期状态,因此对于上篇博客的评论回复的很迟,而这周的工作做的也不多. 1.爆打小组 4.5日站立会议 时间:2016.4.5 15:00-15:34 ...
- mysql问题处理积累
1.mysql errors:message from server: "Host 'xxx' is blocked because of many connection errors; u ...
- override overload reintroduce的区别(delphi)
1.override overload reintroduce的中文叫法是什么? override:覆盖:overload:重载:Reintroduce:重定义 2.在子类中override或ov ...
- 普通javabean 获得项目的绝对路径
方式一:String path = RequestContext.class.getResource("/").getFile();
- BZOJ5311 贞鱼(动态规划+wqs二分+决策单调性)
大胆猜想答案随k变化是凸函数,且有决策单调性即可.去粘了份fread快读板子才过. #include<iostream> #include<cstdio> #include&l ...
- day12-13 文件操作b模式
为什么需要用到二进制的形式?我们默认的r w a 其实是rt wt at 即txt模式如果是图片,视频,音频,是无法用txt打开的,只能用b模式处理 b 模式是以字节形式打开 f = open(&qu ...
- MT【55】近零点
[Among the natural enemy of mathematics, the most important thing is that how do we konw somethi ...