BASH中字符串的处理
BASH中字符串的处理
得到长度:
源码:
%x="abcd"
#方法一
%expr length $x
4
# 方法二
%echo ${#x}
4
# 方法三
%expr "$x" : ".*"
4
# expr 的帮助
# STRING : REGEXP anchored pattern match of REGEXP inSTRING
查找子串:
源码:
%expr index $x "b"
2
%expr index $x "a"
1
%expr index $x "b"
2
%expr index $x "c"
3
%expr index $x "d"
4
得到子字符串:
源码: # 方法一
# expr <string> startpos length
%expr substr "$x" 1 3
abc
%expr substr "$x" 1 5
abcd
%expr substr "$x" 2 5
bcd
# 方法二
# ${xos:lenght}
%echo ${x:1}
bcd
%echo ${x:2}
cd
%echo ${x:0}
abcd
%echo ${x:0:2}
ab
%pos=1
%len=2
%echo ${x:$pos:$len}
bc
匹配正则表达式:
源码: # 打印匹配长度
%expr match $x "."
1
%expr match $x "abc"
3
%expr match $x "bc"
0
字符串的掐头去尾:
源码: %x=aabbaarealwwvvww
%echo "${x%w*w}"
aabbaarealwwvv
%echo "${x%%w*w}"
aabbaareal
%echo "${x##a*a}"
lwwvvww
%echo "${x#a*a}"
bbaarealwwvvww
其中 , # 表示掐头, 因为键盘上 # 在 $ 的左面。
其中 , % 表示%, 因为键盘上 % 在 $ 的右面。
单个的表示最小匹配,双个表示最大匹配。
也就是说,当匹配的有多种方案的时候,选择匹配的最大长度还是最小长度。
字符串的替换;
源码:
%x=abcdabcd
%echo ${x/a/b} # 只替换一个
bbcdabcd
%echo ${x//a/b} # 替换所有
bbcdbbcd
不可以使用 regexp , 只能用 * ? 的文件扩展方式。
BASH中字符串的处理相关推荐
- linux bash 字符串 连接,Linux Bash 中字符串操作
Linux Bash 中字符串操作 所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 t ...
- linux下字符串操作,Linux Bash 中字符串操作
所谓"子字符串"就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 test" 的子字符串. 我们有 ...
- bash中字符串和数组的遍历
让我们看如下的bash script A="china fengxi zhongguo" echo "echo varialbe A directly:" $A ...
- Linux笔记-bash中字符串拆分并且存到数组中
对应的脚本如下: i=1while ((1==1)); dotmp=`echo $字符串变量名 | cut -d " " -f $i`if [ "$tmp" = ...
- 如何在Bash中比较字符串
如何将变量与字符串进行比较(如果匹配则执行某些操作)? #1楼 要将字符串与通配符进行比较,请使用 if [[ "$stringA" == *$stringB* ]]; then# ...
- 如何在Bash中的分隔符上拆分字符串?
我将此字符串存储在变量中: IN="bla@some.com;john@home.com" 现在我想用拆分字符串; 分隔符,以便我有: ADDR1="bla@some.c ...
- linux删除最后一个字符串,Bash删除字符串中的第一个和最后一个字符
问题描述 我有一个这样的字符串: |abcdefg| 我想要得到一个新的字符串(如string2)与原始字符串调用没有两个|在开始和结束时 所以我会有这个 abcdefg 在bash中可能吗? 最佳解 ...
- 在bash中,如何检查字符串是否以某个值开头?
我想检查字符串是否以" node"开头,例如" node001". 就像是 if [ $HOST == user* ] then echo yes fi 我该怎 ...
- bash中的字符串长度
本文翻译自:Length of string in bash How do you get the length of a string stored in a variable and assign ...
最新文章
- 你动、蒙娜丽莎跟着一起动,OpenCV这么用,表情口型造假更难防了
- 【一周入门MySQL—2】单表查询
- QNNPACK高性能前向内核库全面剖析——引言篇
- 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD
- python参数传递时不构造新数据对象_关于函数的参数传递(parameter passing),以下选项中描述错误的是_学小易找答案...
- python与数学关系大吗_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...
- 【Java】Java对象转换成Map
- mysql中IFNULL,IF,CASE的区别
- 10张精美可视化大屏模板分享,加极简制作攻略!抓紧收藏
- HDOJ---3790 最短路径问题[Dijkstra算法||SPFA]
- 【推荐精读】从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现
- Sybase的安装、配置及使用(五)
- vs2015安装与配置
- 201771010112罗松《面向对象程序设计(java)》第十二周学习总结
- CentOS (linux) 启动错误 *** Run 'setenforce 1'to reenable. 解决
- 递四方(4PX)一面
- 争议不断的AI绘画,靠什么成为了顶流?
- 高通Ziad Asghar:AI处理的重心从云端向边缘侧转移,智能手机是最佳平台 | MEET 2023...
- 飞秋 飞秋2010 飞秋2010下载 飞秋下载2010正式版
- 时间分辨率、频率分辨率