掐头去尾

对字符串和整个数组的掐头去尾

掐头

删除正则匹配的字符串, 以pattern开头;#非贪心, 尽量短; ##贪心, 尽量长;

单个字符串变量, 删除匹配并返回一个子串; 数组或map, 对每个value进行并返回字符串集合, 顺序数组一定,map顺序未知, 返回删除并拼接后的字符串,也可以用于生成新的数组, map不会返回map类型;

案例

AAA=(good-morning good-afternoon good-night)
echo ${AAA[@]#*-}
declare -A BBB
BBB=([1]=good-morning [2]=good-afternoon [3]=good-night)
CCC=${BBB[@]#*-}
DDD=(${BBB[@]#*-})echo ${!BBB[@]}
echo ${!CCC[@]}:${CCC[@]}:${#CCC[@]}
echo ${!DDD[@]}:${DDD[@]}:${#DDD[@]}"
$ ./test.sh
morning afternoon night
3 2 1
0:night afternoon morning:1
0 1 2:night afternoon morning:3
"

可以看到对每个匹配的都进行了删除, 返回的是字符串;不同处理结果不一样, 默认字符串, 也可以用于生成数组;

去尾

删除正则匹配的尾部字符串;以pattern结尾; %非贪心; %%贪心;

返回生成处理同上;

案例

AAA=(agood-morning bgood-afternoon cgood-night)
echo ${AAA[@]%-*}
declare -A BBB
BBB=([1]=agood-morning [2]=bgood-afternoon [3]=cgood-night)
CCC=${BBB[@]%-*}
DDD=(${BBB[@]%-*})echo ${!BBB[@]}
echo ${!CCC[@]}:${CCC[@]}:${#CCC[@]}
echo ${!DDD[@]}:${DDD[@]}:${#DDD[@]}"
$ ./test.sh
agood bgood cgood
3 2 1
0:cgood bgood agood:1
0 1 2:cgood bgood agood:3
"

补充: 也可以用字符串自带的截取, 不过没有这个灵活而已;

shell 变量五 字符串掐头去尾相关推荐

  1. shell变量、函数和数组以及字符串的截取

    一.变量 1.shell变量名 (1)可以由字母.数字.下划线等字符组成.但是第一个字符必须是字母或者下划线. (2)若果变量中包含下划线(_)则要特别注意,$project_svn_$date.ta ...

  2. shell 脚本-01 变量、字符串、数组

    简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言. Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通 ...

  3. shell中变量和字符串拼接方法

    如下示例: #!/bin/bashv1="ll" echo "he${v1}o world!" 执行示例结果: hello world! 直接拼接就可以,可以不 ...

  4. shell变量加单引号sql_关于shell:在Bash中的命令中扩展变量的单引号

    我想从bash shell脚本中运行一个命令,该脚本在单引号和变量中包含单引号和一些其他命令. 如repo forall -c '....$variable'. 在这种格式中,对$进行转义,不展开变量 ...

  5. Linux基础之shell变量

    Linux基础之shell变量 一.shell变量及其他相关介绍 二.shell变量类型 三.shell变量用法 四.定义命令别名 五.系统变量文件定义说明 一.shell变量及其他相关介绍 1.编译 ...

  6. Linux操作系统笔记——Shell变量

    目录 一.Shell变量的基本概念 (一)创建Shell变量 (二)变量引导符($) (三)只读变量(readonly 命令) (四)查看变量(set 命令) (五)清除变量(unset 命令) 二. ...

  7. (转)Shell中获取字符串长度的七种方法

    Shell中获取字符串长度的七种方法 原文:http://blog.csdn.net/jerry_1126/article/details/51835119 求字符串操作在shell脚本中很常用,下面 ...

  8. shell变量/环境变量和set/env/export用法_转

    转自:shell环境变量以及set,env,export的区别 一.shell环境变量的分类以及set env export的区别: set:显示(设置)shell变量,包括的私有变量以及用户变量.不 ...

  9. Linux 命令之 declare -- 声明或显示 shell 变量

    文章目录 一.命令介绍 二.命令格式 三.命令选项 四.命令示例 (一)声明变量并赋值 (二)将变量设置为环境变量 (三)将变量设置为只读,不可修改 (四)将变量声明为整数并进行计算 (五)显示变量的 ...

最新文章

  1. 浙大这个班诞生128家创业公司,总市值高达千亿!
  2. SAP WM初阶之WM层面的移动类型可以配置成后续TO单据自动产生
  3. 皮一皮:昨天是一个凄苦的节日...
  4. js Grid - 列表插件
  5. 安徽大学大一高数第二章习题册答案
  6. C++中的final关键字
  7. 一些新奇的玩意【php篇--持续更新】
  8. 【剑指offer】找出数组中出现一次的两个数
  9. Java经典设计模式 总览
  10. AWVS14.5最新版的安装与使用
  11. 动态箭头gif图标_教程|PPT绘制箭头最全攻略,收藏一下
  12. uboot研读笔记 | 13 - uboot编译构建Makefile分析研读(2016.03版本)
  13. 如何获取土豆网等在线视频FLV地址
  14. mysql性能问题小解 Converting HEAP to MyIsam create_myisa
  15. mysql中日期相减_Excel日期和时间运算
  16. 2020年还需要阅读的10篇人工智能论文(附链接)
  17. Unity 绘制物体运动轨迹
  18. python莱布尼茨法计算π_python圆周率计算(带进度条)
  19. 敏捷迭代管理 --工时估算(估点)
  20. 学生上课考勤系统jsp_jsp学生考勤在线请假系统

热门文章

  1. Kubernetes基础1
  2. qq截图快捷键,小编教你qq截图快捷键怎么设置
  3. 第十二届业务流程管理大会CBPM宣传
  4. 衡阳南华学校计算机,热烈祝贺计算机学院在第八届衡阳市大学生科技创新大赛南华大学初赛中取得优异成绩...
  5. 视频超分:Zooming Slow-Mo(Zooming Slow-Mo: Fast and Accurate One-Stage Space-Time Video Super-Resolution)
  6. RoboCup GameController安装方法
  7. java 实现微信授权登陆
  8. 触控板的使用技巧~赞,亲测好用,放弃鼠标,拒绝鼠标手、腱鞘炎!!
  9. javaScript面试高频技术点(多为原生基础+框架集合)
  10. 一键清除fla文件中的TLF文本