https://www.cnblogs.com/reachos/p/16803672.html

bash 里面内置了一些常用的字符串操作;

1、字符串截取

a="abc"
${a:1:1}      #字符串截取,从0开始编号,第1个字符开始,截取1个

2、字符串替换

a="aabbcc"                      #字符串替换
echo ${a/"aa"/88} echo ${变量名/old/new}           #替换1个
echo ${变量名//old/new}          #替换所有

3、字符串删除

echo ${a#}                   #掐头
echo ${a%}                #去尾 a=`head -1 /etc/passwd`        #定义变量 echo ${a#root}              #从左往右删除,删除第1个root
echo ${a##*root}             #从左往右删除,删除到最后1个root # echo ${a%bash}             #从右往左删除bash前面的字符
bash # echo ${a%%:*}              #从左往左删除: ,直到最后1个:为止
root

应用案例,批量改文件名,把.txt结尾的扩展名变更为.html :

touch abc{1..10}.txt
for i in $(ls *.txt)
do
  mv $i ${i%txt}html
done

4、定义变量初值(备用值)
echo ${变量名:-初值}

echo ${p:-123}              #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值

#a=
#echo ${a:-123}         #定义变量的初始值,如果变量值为空时,就用初始值123,如果变量有值,就用变量自己的值
123
#a=10
#echo ${a:-123}
10

[转帖]已整理-shell内置字符串常用操作的更多相关文章

  1. linux shell字符串内置的常用操作(获取长度、查找、替换)

    在编写shell程序时,经常会涉及到字符串相关操作.有许多命令语句,如awk,sed都能够做字符串各种操作. 事实上shell内置一系列操作符号,能够达到相似效果,使用内部操作符会省略启动外部程序等时 ...

  2. Shell内置命令

    主要Shell内置命令 Shell有很多内置在其源代码中的命令.这些命令是内置的,所以Shell不必到磁盘上搜索它们,执行速度因此加快.不同的Shell内置命令有所不同. A.2.1  bash内置命 ...

  3. thinkPHP内置字符串截取msubstr函数用法详解

    作者:陈达辉 字体:[增加 减小] 类型:转载 时间:2016-11-15 我要评论 这篇文章主要介绍了thinkPHP内置字符串截取函数用法,结合实例形式分析了thinkPHP内置的字符串截取函数功 ...

  4. bash的内置字符串处理工具

    bash内置字符串处理工具: 1.字符串切片: ${var:offset:number} 取字符串的子串: ${var:  -length} 取字符串的最右侧的length个字符.注意:冒号右侧必须有 ...

  5. linux 获取shell内置命令帮助信息 help xx

    shell,命令解释器 shell内置命令有cd/umask/pwd等 help shell内置命令适用于所有用户获取shell内置命令的帮助信息help umaskhelp if

  6. Python 的内置字符串方法(收藏专用)

    Python 的内置字符串方法(收藏专用) method 字符串 string python3.x  python 4.7k 次阅读  ·  读完需要 44 分钟 5 字符串处理是非常常用的技能,但 ...

  7. linux中shell内置命令和外置命令

    shell内置命令 无法通过which或者whereis去查找命令的位置 例如cd,cp这些命令是shell解释器内置的命令 当shell内置命令传入shell解释器,shell解释器通过内核获取相关 ...

  8. javascript中字符串常用操作整理

    javascript中字符串常用操作整理 字符串的操作在js中非常频繁,也非常重要.以往看完书之后都能记得非常清楚,但稍微隔一段时间不用,便会忘得差不多,记性不好是硬伤啊...今天就对字符串的一些常用 ...

  9. linux shell 字符串常用操作

    1.shell内置的字符串操作 表达式 含义 ${#string} $string的长度 ${string:position} string中,从位置$position开始提取字符串 ${string ...

  10. javascript:面向对象和常见内置对象及操作

    本文内容: 面向对象 常见内置对象及操作 首发日期:2018-05-11 面向对象: JavaScript 是面向对象的编程语言 (OOP).OOP 语言使我们有能力定义自己的对象和变量类型. 对象是 ...

随机推荐

  1. 设计模式Java实战,彻底学会

    ​ ​这是全网最强的Java设计模式实战教程.此教程用实际项目场景,结合SpringBoot,让你真正掌握设计模式. 网址是:Java设计模式实战专栏介绍 - 自学精灵(也可以百度搜索"自学 ...

  2. django token 认证 简单记录

    class User(AbstractUser): username = models.CharField( max_length=20, unique=True, primary_key=True, ...

  3. Java并发(二十二)----wait notify的正确姿势

    开始之前先看看,sleep(long n) 和 wait(long n) 的区别: 1) sleep 是 Thread 的静态方法,而 wait 是 Object 的方法 2) sleep 不需要强制 ...

  4. Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍

    前言   FPGA作为一种逻辑芯片,硬件架构独特,具有并行性.低延时性和灵活性等特性,应用领域广泛.  FPGA市场主要玩家是英特尔.AMD.莱迪思.Microchip.Achronix等:国内厂商包 ...

  5. Java异常处理之数字溢出问题

    在进行 Java 开发时,经常会遇到数字溢出的问题.这个问题在很多程序中都非常常见,尤其是在进行数值计算的时候.Java 中提供了一种异常机制来处理这种情况,我们可以在代码中使用 try-catch ...

  6. 原来AI也可以如此简单!教你从0到1开发开源知识问答机器人

    摘要:使用华为云EI智能机器人技术,从0到1开发一款开源知识问答机器人. 前言 最近有幸参与了开源社开源问答机器人的知识库编写,碰巧看到华为云也有类似的智能机器人,抱着试一试的心态,我开始了EI智能机 ...

  7. 盘点华为云GaussDB(for Redis)六大秒级能力

    摘要:盘点高斯Redis的秒级能力,包括扩容.备份.删除.启动等. 本文分享自华为云社区<华为云GaussDB(for Redis)揭秘第20期:六大秒级能力盘点>,作者: 高斯Redis ...

  8. appuploader   iOS 应用自动发布

    appuploader是一款专门为 iOS 和 Android 开发人员设计的自动化工具,可以帮助开发人员轻松解决一些繁琐的任务,例如生成屏幕截图.处理配置文件和发布应用程序等.这个工具可以让开发人员 ...

  9. Solon 开发进阶,二、体外扩展机制

    Solon 开发进阶 一.插件扩展机制 二.体外扩展机制 三.常用配置说明 四.启动参数说明 五.全局异常订阅 Solon 的一个特色:体外扩展机制,用于解决 fatjar 模式部署时的扩展需求.比如 ...

  10. OOALV总结

    1.1ALV屏幕 1.1.1定义无CONTAINER屏幕 1.屏幕中可以不使用定制控制控件画范围,直接定义一个屏幕即可. "--------------------------------- ...