shell——切分文件名

   例子:

  1.

  file_jpg="sample.jpg"

  name=${file_jpg%.*}

  echo File name is $name

  File name is sample

  2.

  file_jpg="sample.jpg"

  extension=${file_jpg#*.}

  echo Extension is $extension

  File name is jpg

  3.

  file_name="www.google.com"

  echo ${file_name%%.*}

  www

  4.

  file_name="www.google.com"

  echo ${file_name##*.}

  com

  说明:

  ${file_jpg%.*}的含义是:从$file_jpg中删除位于%右侧的通配符所匹配的字符串,通配符从右向左进行匹配。

  ${file_jpg#*.}的含义是:从$file_jpg中删除位于#右侧的通配符所匹配的字符串,通配符从左向右进行匹配。

  %属于非贪婪操作,它从右到左找出匹配通配符的最短结果。

  %%属于非贪婪操作,它从右到左找出匹配通配符的最长结果。

  #属于非贪婪操作,它从左到右找出匹配通配符的最短结果。

  ##属于非贪婪操作,它从左到右找出匹配通配符的最长结果。

时间: 2024-11-03 20:48:32

shell——切分文件名的相关文章

使用Bash Shell获取文件名和目录名的简单方法_linux shell

前言还是今天再写一个自动化打包脚本,用到了从路径名中获取最后的文件名.这里记录一下实现过程.当然,最后我也会给出官方的做法.(ps:很囧,实现完了才发现原来Bash Shell有现成的函数) 获取文件名假设给定的路径名为: /tmp/csdn/zhengyi/test/zhengyi.txt awk解法用"/"做分隔符,然后打印出最后的那一部分.实现代码如下: resFile=`echo /tmp/csdn/zhengyi/test/adb.log | awk -F "/&q

Linux Shell脚本编程学习笔记和实战

http://www.1987.name/141.html shell基础 终端打印.算术运算.常用变量 Linux下搜索指定目录下特定字符串并高亮显示匹配关键词 从键盘或文件中获取标准输入 [read命令] 文件的描述符和重定向 数组.关联数组和别名使用 函数的定义.执行.传参和递归函数 条件测试操作与流程控制语句 获取时间日期格式和延时 [date.sleep命令] 内部字段分隔符IFS和脚本的调试DEBUG 显示.读取或拼接文件内容 [cat命令] 文件查找与打印文件列表 [find命令]

linux-shell判断文件名是否符合规范

问题描述 shell判断文件名是否符合规范 判断文件名以 0X_00Y.dat 结尾,且Y递增 红方框中是不规范文件 解决方案 判断文件名是否合法自己写了一个用c#判断文件名是否有效的方法C# 判断文件名中是否有非法字符 解决方案二: 正则表达式定义规则匹配http://blog.sina.com.cn/s/blog_5ac88b350100bfp1.html 解决方案三: 可以用一些正则语法. 文件结尾是 [0-9]{2}[0-9]{3}[.]dat,前面你自己再加一些条件. [[ $file

linux-shell根据文件名日期时间取文件列表

问题描述 shell根据文件名日期时间取文件列表 用shell脚本怎么取 我的文件是yyyyMMdd+2位序号的xml 例如: /app/test/2015112001.xml /app/test/2015112002.xml /app/test/2015112401.xml /app/test/2015112402.xml /app/test/2015112403.xml 我需要取出最近7天的文件列表,或者是某几天的文件的列表 解决方案 $ cat a.sh #!/bin/sh beg_dat

Linux shell 脚本攻略 第二章 命令之乐

2.1 用cat进行拼接     1 cat命令是一个日常会使用到的简单命令,cat本身表示concatenate(拼接)     2 用cat读取文件的一般格式是        cat file1 file2 file3....  // 这个命令将命令行参数的文件内容拼接在一起输出     3 cat命令不仅可以读取文件并拼接数据,它还能够从标准输入中进行读取.要从标准输入中读取,就要使用管道        stand_ouput | cat     4 cat命令可以用来压缩多个空行,使得被

Java调用Shell命令的方法_java

本文实例讲述了Java调用Shell命令的方法.分享给大家供大家参考.具体如下: 近日项目中有这样一个需求:系统中的外币资金调度完成以后,要将调度信息生成一个Txt文件,然后将这个Txt文件发送到另外一个系统(Kondor)中.生成文件自然使用OutputStreamWirter了,发送文件有两种方式,一种是用写个一个类似于FTP功能的程序,另外一种就是使用Java来调用Shell,在Shell中完成文件的发送操作.我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStrea

Linux下Shell编程

Linux的shell编程  1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每一个用户运行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序,用户可以用shell来启动.挂起.停止甚至是编写一些程序.一般的Linux系统都将bash作为默认的shell. 2.几种流行的shell 目前流行的shell有ash.bash.ksh.csh.zsh等,可以用下面的命令来查看sh

JS字符串的切分用法实例_javascript技巧

本文实例讲述了JS字符串的切分用法.分享给大家供大家参考,具体如下: <script type="text/javascript"> <!-- var str="x:1;y:2;z:3"; var sarry=new Array(str.length,2); var fsa=str.split(";"); for(i=0;i<fsa.length;i++) { var temp=fsa[i].split(":&q

Unix 的缺陷 - 王垠

我想通过这篇文章解释一下我对 Unix 哲学本质的理解.我虽然指出 Unix 的一个设计问题,但目的并不是打击人们对 Unix 的兴趣.虽然 Unix 在基础概念上有一个挺严重的问题,但是经过多年的发展之后,这个问题恐怕已经被各种别的因素所弥补(比如大量的人力).但是如果开始正视这个问题,我们也许就可以缓慢的改善系统的结构,从而使得它用起来更加高效,方便和安全,那又未尝不可.同时也希望这里对 Unix 命令本质的阐述能帮助人迅速的掌握 Unix,灵活的应用它的潜力,避免它的缺点. 通常所说的"U