首页 > 课堂 > 技术开发 > 正文

shell——切分文件名

2020-05-27 13:13:22
字体:
来源:转载
供稿:网友

   例子:

  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中删除位于#右侧的通配符所匹配的字符串,通配符从左向右进行匹配。

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

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

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

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

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表