`
luzl
  • 浏览: 576464 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

变量操作 (ksh/bash 仅有)--截取字符串

    博客分类:
  • Unix
阅读更多
很奇怪的一点这些命令使用的时候竟然都没有$符号,所以感觉很怪的:
${#var}
    返回var这个变量的长度
${var%pattern}
    removes the shortest suffix of $var patching pattern
    从后面开始去掉最短正则表达式匹配串
datapath=/data/public/project/trials/set1/datafile.dat
echo ${datapath%\/*.*}

返回空行 /data/public/project/trials/set1

${var%%pattern}
    removes the longest suffix of $var patching pattern
    从后面开始去掉最长正则表达式匹配串
datapath=/data/public/project/trials/set1/datafile.dat
echo ${datapath%%\/*.*}

返回空行

${var#pattern}
    removes the shortest prefix of $var patching pattern
    从前面开始去掉最短正则表达式匹配串
datapath=/data/public/project/trials/set1/datafile.dat
echo ${datapath#/*/}

返回public/project/trials/set1/datafile.dat

${var##pattern}
    removes the longest prefix of $var patching pattern
    从前面开始去掉最长正则表达式匹配串
datapath=/data/public/project/trials/set1/datafile.dat
echo ${datapath##*.}

返回dat

最后补充一点,在shell脚本文件中使用时,你不必使用``命令,直接赋值就是了:
name=20081104.key
ext=`${name##*.}`

就会报错,说key不能执行什么的,当然,扩展名key也没有赋值给ext
这样就对了
name=20081104.key
ext=${name##*.}








分享到:
评论

相关推荐

    Bash_shell学习笔记

    - **字符串操作符**:如连接、截取等操作。 ### 6. 条件结构 - **if语句**:用于基于某个条件执行代码块。 - **case语句**:用于基于匹配模式执行代码块。 - **select语句**:用于创建简单的菜单。 ### 7. 循环...

    korn-shell脚本入门.docx

    - 支持复杂的脚本编程,包括流程控制结构、字符串处理等功能。 - 具有Bourne Shell和C Shell的优点,同时添加了许多新的特性。 #### 三、Shell命令与脚本 - **命令**:用户通过命令行接口输入的指令,用于执行...

    很好的Shell总结教程

    #### 2.4 字符串截取 可以使用`${string%%suffix}`或`${string##prefix}`来去除字符串的前缀或后缀。例如: ```bash str="http://www.example.com" echo "${str##*/}" # 输出:example.com ``` #### 2.5 变量状态...

    02_计算机基础3-41

    例如,截取字符串的前五个字符,可以使用`expr substr`、`cut -c`或`awk 'substr()'`。此外,`cut`还可以用于按分隔符分割字符串并提取特定列。字符串替换则可以借助`sed`的`s/old/new/g`模式,或者`awk`的`gsub()`...

    shell从入门到精通

    2. 字符串处理:Shell脚本中常常需要处理字符串,例如获取字符串长度、字符串切片、替换字符串、截取子串等。Shell提供了丰富的字符串操作功能。 3. 表达式与运算符:Shell脚本支持条件表达式、比较符(包括整数...

    Linux与UNIX Shell 编程指南(B)

    还会讲解变量的引用(如`$var`)和字符串操作,如截取、连接等。 3. **条件语句与循环**:讲解`if`、`else`、`elif`用于条件判断,以及`for`、`while`、`until`等循环结构。这些是编写逻辑控制的重要组成部分。 4....

    shell自研基础学习笔记

    变量运算包括算术运算和字符串运算,常见的运算符有+、-、*、/等,以及比较运算符如==、!=等。$*和$@的区别在于处理多个参数时,前者将所有参数视为一个整体,后者则每个参数单独处理。 三、输入与输出 read命令...

Global site tag (gtag.js) - Google Analytics