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

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

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

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

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

(0)

相关推荐

  • Linux Shell 文本处理工具集锦

    提供的例子和参数都是最常用和最为实用的; 我对shell脚本使用的原则是命令单行书写,尽量不要超过2行; 如果有更为复杂的任务需求,还是考虑python吧; find 文件查找 •查找txt和pdf文 ...

  • Linux下使用Shell文本处理工具集锦

    Linux下的操作习惯不像windows一样可以有窗口进行操作,它是有很多不同的命令组成的,本文将介绍Linux下使用Shell处理文本时最常用的工具:find、grep、xargs、sort、uni ...

  • linux shell 管道命令(pipe)使用及与shell重定向区别

    管道命令操作符是:”|”,它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力。然后,传递给下一个命 ...

  • Linux下文件名.文件和mp3名字.pdf的乱码问题

    如果是刚刚从windows转到Linux下的,通常都会因为一些中文的问题而放弃,我就是这样装上,卸载搞过好几次,其实这种心态是永远都学不到东西的,真正的学者都具有一颗大无畏的精神,在他们的字典里是找不 ...

  • Linux Shell 通配符.元字符.转义符使用实例介绍

    下面是一个实例: 复制代码 代码如下: [chengmo@localhost ~/shell]$ ls a.txt b.txt c.old #2 [chengmo@localhost ~/shell] ...

  • SSH客户端之SSH Secure Shell 的连接方法

    SSH客户端之SSH Secure Shell 的连接方法

  • Linux下最常用的Shell命令的介绍(图文)

    有些人仍然会有这种愚蠢的想法,他们认为使用Linux就必须使用Linux shell命令。胡说!你可以不懂得任何Linux命令,比如说ps,grep,ls等,但是你仍然可以使用很多现代的Linux桌面 ...

  • Linux Bash Shell入门教程

    BASH 的基本语法 最简单的例子 —— Hello World! 关于输入、输出和错误输出 BASH 中对变量的规定(与 C 语言的异同) BASH 中的基本流程控制语法 函数的使用 2.1 最简单 ...

  • 编辑shell.cfg配置PC3000

    用文本编辑器打开shell.cfg就可以看出- 号的应用,一个-号是显示在中间的选择项目,两个-号是显示在右面的项目,四个-号是调用程序模块的名称,你只要在shell.cfg中添加相应的语句,就可以把 ...

  • 常用的Linux shell命令详解收集整理

    常用的Linux shell命令详解收集整理