Shell编程—【01】shell中常用的字符串操作
计算字符串长度
${#string}
expr length "$string"
v1="i love you"
len=`expr length "$v1"`
echo len
复制代码
获取子串中字符在字符串中的位置
expr index "$string""$subString"
v1="i love you"
v2="ou"
subIndex=`expr index "${v1}" "${v2}"`
echo $subIndex
# 4# 注意: 他其实是找子串中每个字符的其实位置,返回最前面的那个
复制代码
获取子串从头开始匹配的长度
expr match "$string" "$substr"
v1="i love you"
v2="ou"
v3="i love"
v4="i losadf"
v5="i lov.*"
subLen1=`expr match "$v1" "$v2"`
subLen2=`expr match "$v1" "$v3"`
subLen3=`expr match "$v1" "$v4"`
subLen4=`expr match "$v1" "$v5"`
echo $subLen1 $subLen2 $subLen3 $subLen4
# 0 6 0 10
复制代码
抽取子串
# 0123456789
# iloveyou.
v1="iloveyou."
# 从第零位开=始
echo ${v1:0}
# iloveyou.# 从第三位开始
echo ${v1:3}
# veyou.# 从右边开始匹配 倒数第三个开始 注意冒号后面有空格 从右边-1开始数
echo ${v1: -3}
# ou.echo ${v1: -3:1}
# o# 从左边开始匹配
echo ${v1:(-3)}
# ou.# 从第2位开始 截取3个
expr substr "$v1" 2 3
# lov# 注意expr 索引从1开始 ${}是从0开始
复制代码
练习题
给定一个字符串变量 string=“You are an ugly boy! I'm a handsome boy!”
要求启动脚本后 1.输入1 打印字符串长度 2.输入2 删除ugly 把 an 变成 a 3.输入3 替换 'm 为 “ am” . 4.输入4 替换 ! 为 .
#!/bin/bash
string="You are an ugly boy! I'm a handsome boy!"function print_tips
{echo "********************************"echo "1.输入1 打印字符串长度."echo "2.输入2 删除ugly 把 an 变成 a"echo "3.输入3 替换 'm 为 “ am” ."echo "4.输入4 替换 ! 为 ."echo "********************************"
}
function len_of_string
{echo "${#string}"
}function del_ugly_and_change_an_to_a
{str="${string/ ugly/}"echo "${str/an/a}"
}function replace_m_am
{echo "${string//\'m/ am}"
}function replace_exclamation_mark_to_dot
{echo "${string//!/.}"
}while true
doecho "「string = ${string} 」"echoprint_tipsread -p "Please input your choice (1|2|3|4|q)" choicecase $choice in1)len_of_string;;2)del_ugly_and_change_an_to_a;;3)replace_m_am;;4)replace_exclamation_mark_to_dot;;q|Qexit;;*)echo "Error, Input only in (1|2|3|4|q)";;esac
done复制代码
转载于:https://juejin.im/post/5d0508c36fb9a07ed2246c18
Shell编程—【01】shell中常用的字符串操作相关推荐
- shell编程系列7--shell中常用的工具find、locate、which、whereis
shell编程系列7--shell中常用的工具find.locate.which.whereis1.文件查找之find命令语法格式:find [路径] [选项] [操作]选项 -name 根据文件名查 ...
- c语言中空格字符怎么表示_C语言中常用的字符串操作函数
作者:陈太浪 出处:https://home.cnblogs.com/u/TomHe789/ C语言中提供了许多的字符串操作函数,常见的字符串操作函数有以下几种: 1.求字符串长度的函数 原型函数:s ...
- hive同时不包含一些字符串_Hive中常用的字符串操作
一.准备 创建虚表: echo "X" >> dual.tsv hadoop fs -put dual.tsv '/data//' create table dual( ...
- Go语言中常用的字符串操作
1.len()用来统计一个字符串的长度的(按字节统计一个中文字符在utf-8中是三个字节) 2.[]rune(T type) 将一个字符串转化为切片,可以用于遍历含有中文的字符 3.i,err := ...
- shell for循环1到100_浅谈Linux下shell 编程的for循环常用的6种结构
浅谈Linux下shell 编程的for循环常用的6种结构 1. 常用for循环结构 (1) for 变量 in 值1 值2 值3... do 程序块儿 done (2) for 变量 in `命令` ...
- shell编程-初始shell及变量
shell编程 初始shell 程序 语言 编程 ---------------------------------- 语言 自然语言:汉语.英语 计算机语言:c语言.c++.(java php py ...
- Shell编程基础---shell的结构、执行及变量
2019独角兽企业重金招聘Python工程师标准>>> 本文索引: shell脚本介绍 shell脚本结构和执行 date命令用法 shell脚本中的变量 shell脚本介绍 she ...
- shell编程(八) : [shell基础] 处理用户输入
接上一篇文章shell编程(七) : [shell基础] 使用结构化命令 目录 3.3 处理用户输入 3.3.1 命令行参数 1.位置参数 2.对参数进行测试 3.3.2 特殊参数变量 1.参数个数 ...
- Linux之shell编程篇-----Shell 函数和Shell 输入/输出重定向
最近发现了一个挺厉害的人工智能学习网站,内容通俗易懂,风趣幽默,感兴趣的可以点击此链接进行查看:床长人工智能教程 废话不多说,请看正文! Shell 函数 1. 自定义函数 linux she ...
最新文章
- 洛谷P3723 [AH2017/HNOI2017]礼物(FFT)
- VBS遍历Excel工作表的方法
- 调参侠看过来!两个提高深度学习训练效率的绝技
- ubuntu9.10硬盘安装记录一
- 蓝桥杯 - 连号区间数(暴力)
- 利用Python编写网络爬虫下载文章
- Chrome 开发者工具 版本 65 新引入的 Overrides
- bluetooth射频已关闭请打开bluetooth射频_希杰大功率射频放大器烧了维修诊断步骤...
- html在表格添加下拉按钮,Bootstrap-table 使用说明--如何在表格td里增加一个按钮
- 软件测试用例_软件测试用例设计实战场景法
- 吴恩达深度学习 —— 3.8 激活函数的导数
- python机器学习:朴素贝叶斯分类算法
- 通用版工业制程SPC管理系统,源代码分享
- GB28181协议实现简介
- 华三交换机配置access命令_H3C交换机配置命令大全讲解
- 人性观察,人类关系的基石
- 详解浏览器中的粘贴事件 paste onpaste 事件
- 纯CSS实现图片动画
- 乓乓响再度冲刺港股:来自临时及应急服务客户毛利率达70%
- c语言检测邮箱地址,C语言实现电子邮件地址验证程序
热门文章
- 我来做百科(第二十天) D
- 物理IP和浮动IP分别的含义是什么
- Windows Server 2008R2使用web方式修改域账户密码
- Windows在结构Eclipse+Android4.0开发环境
- ligertree内容过多导致崩溃_师傅崩溃了!自身是8年的老师傅,料也没问题,但每次都堵管...
- 解决Kali LinuxVI编辑器无法复制问题
- PlayMaker GUI跟随布局的使用
- 网页截图工具CutyCapt
- 编码/解码和进制转化工具hURL
- Xamarin.Forms单元控件Cell