一、语法
  在shell中可以通过#、%对字符串进行掐头去尾操作,使用方法如下:
  • # 表示掐头
  • % 表示去尾
  • 单个#或%表示最小匹配
  • 双个$或%表示最大匹配
 二、例子1

  假设我们定义一个变量为:
filename=/dir1/dir2/dir3/my.file.txt

  可以通过${ }分别替换得到不同的值:

  • ${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
  • ${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
  • ${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
  • ${file##*.}:删掉最后一个 . 及其左边的字符串:txt
  • ${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
  • ${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
  • ${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
  • ${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
三、例子2
  用户名/密码@IP:str=user_name/"password"@192.168.100.100 8080
  • str2=${str##*/}
  • ip=${str2##*@}
  • username=${str%%/*}
  • password=${str2%%@*}
四、其他

1.截取子字符集

echo ${filename:0:5}:提取最左边的5个字符,/dir1
echo ${filename:5:5}:提取第5个字符开始的连续5个字符,/dir2

2.替换字符

echo ${filename/dir/path}:将第一个dir替换成path,/path1/dir2/dir3/my.file.txt

echo ${filename//dir/path}:将全部dir替换成path,/path1/path2/path3/my.file.txt

3.长度计算

echo ${#filename}:返回变量值的长度


END 2018-08-20 16:37:52

转载于:https://www.cnblogs.com/hider/p/9506380.html

Shell学习笔记:#*、%*字符串掐头去尾方法相关推荐

  1. es6学习笔记-字符串的扩展_v1.0_byKL

    es6学习笔记-字符串的扩展_v1.0 字符的Unicode表示法 JavaScript 允许使用uxxxx的形式表示一个字符,但在 ES6 之前,单个码点仅支持u0000到uFFFF,超出该范围的必 ...

  2. Python学习笔记Task11.魔法方法

    Python学习笔记Task11.魔法方法 魔法方法格式__init__ 1.基本 init(self[,-]) new(cls[,-]) del(self) str(self) repr(self) ...

  3. Laravel学习笔记汇总——Collection方法详解

    ## Laravel学习笔记汇总--Collection方法详解 本文参考:https:// laravel.com/docs/8.x/collections // 返回整个底层的数组 collect ...

  4. shell学习笔记 (2)

    shell学习笔记 (2) ---china.pub.com  linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...

  5. 深度学习笔记:优化方法总结(BGD,SGD,Momentum,AdaGrad,RMSProp,Adam)

    深度学习笔记(一):logistic分类  深度学习笔记(二):简单神经网络,后向传播算法及实现  深度学习笔记(三):激活函数和损失函数  深度学习笔记:优化方法总结  深度学习笔记(四):循环神经 ...

  6. 2020-4-5 深度学习笔记17 - 蒙特卡罗方法 3 ( 马尔可夫链蒙特卡罗方法MCMC-先验分布/后验分布/似然估计,马尔可夫性质)

    第十七章 蒙特卡罗方法 中文 英文 2020-4-4 深度学习笔记17 - 蒙特卡罗方法 1 (采样和蒙特卡罗方法-必要性和合理性) 2020-4-4 深度学习笔记17 - 蒙特卡罗方法 2 ( 重要 ...

  7. Python学习笔记-- 字符串和数字的连接

    Python学习笔记– 字符串和数字的连接 >>> s = 'abc' >>> print s + 1Traceback (most recent call las ...

  8. lua基础学习笔记-字符串

    lua基础学习笔记-字符串 字符串 Lua 语言中字符串可以使用以下三种方式来表示: 单引号间的一串字符. 双引号间的一串字符. [[ 与 ]] 间的一串字符. 例: string1 = " ...

  9. shell学习笔记整理

    Shell编程学习笔记 第一章基础知识 1.脚本格式: 1.1"#!" 这个符号的名称,叫做"Shebang"或者"Sha-bang" &q ...

  10. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

最新文章

  1. Auto ML自动调参
  2. 【Linux学习】Ubuntu下内核编译(一)
  3. 几个受益终身的英文缩写
  4. Struts编程心得
  5. LoadRunner 11.0 - 安装破解(个人试用成功)
  6. Python-OpenCV-- 台式机外接摄像头pyTesseract文本框实时检测
  7. 前端学习(3167):react-hello-react之鼠标移入效果
  8. hsrp 切换_HSRP、VRRP、GLBP | 网络工程师之网关高可用、冗余
  9. 判断RDD有多少个分区
  10. java mongodb 聚合函数_MongoDB的聚合函数 Aggregate
  11. java-记录一个子串在整串中出现的次数
  12. StarUML 3 中文文档 构件图
  13. 聊天室私人聊天原理_如何设置极其安全的私人群组聊天
  14. 学生信息管理系统(一)——登录窗体
  15. sap固定资产号码范围_SAP 固定资产的配置与逻辑
  16. 一个炫酷的opengles2.0翻页效果(安卓上opengles2.0 翻书效果附源码)
  17. Android开发之LitePal数据库的使用(参考于《Android 第一行代码》)
  18. SD/TF卡驱动(二)--------SD卡程序初始化流程以及读写
  19. java将秒转换为天,时,分
  20. 视频教程-【吴刚】个人网站设计初级入门标准视频教程-UI

热门文章

  1. 面试:MySQL篇,详尽知识点总结
  2. 五子棋智能算法——决策树编程实现(三)
  3. php 跳转邮箱,JS点击跳转登陆邮箱功能简单的实现方法
  4. SAP UI5 Simple Form 属性 columnsL,columnsM,columnsXL 的属性深入剖析试读版
  5. pyqt5 向 QTableWidget添加元素以及锁定到某行
  6. Java是未来的第一编程语言吗?
  7. 皮尔逊相关系数和检验P值
  8. ele表格合并行之后的selection选中
  9. Java转化音频格式 m4a-wav
  10. 数组的过滤方法filter()