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中字符串的处理相关推荐

  1. linux bash 字符串 连接,Linux Bash 中字符串操作

    Linux Bash 中字符串操作 所谓 "子字符串" 就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 t ...

  2. linux下字符串操作,Linux Bash 中字符串操作

    所谓"子字符串"就是出现在其它字符串内的字符串. 比如 "3382" 就是 "this is a 3382 test" 的子字符串. 我们有 ...

  3. bash中字符串和数组的遍历

    让我们看如下的bash script A="china fengxi zhongguo" echo "echo varialbe A directly:" $A ...

  4. Linux笔记-bash中字符串拆分并且存到数组中

    对应的脚本如下: i=1while ((1==1)); dotmp=`echo $字符串变量名 | cut -d " " -f $i`if [ "$tmp" = ...

  5. 如何在Bash中比较字符串

    如何将变量与字符串进行比较(如果匹配则执行某些操作)? #1楼 要将字符串与通配符进行比较,请使用 if [[ "$stringA" == *$stringB* ]]; then# ...

  6. 如何在Bash中的分隔符上拆分字符串?

    我将此字符串存储在变量中: IN="bla@some.com;john@home.com" 现在我想用拆分字符串; 分隔符,以便我有: ADDR1="bla@some.c ...

  7. linux删除最后一个字符串,Bash删除字符串中的第一个和最后一个字符

    问题描述 我有一个这样的字符串: |abcdefg| 我想要得到一个新的字符串(如string2)与原始字符串调用没有两个|在开始和结束时 所以我会有这个 abcdefg 在bash中可能吗? 最佳解 ...

  8. 在bash中,如何检查字符串是否以某个值开头?

    我想检查字符串是否以" node"开头,例如" node001". 就像是 if [ $HOST == user* ] then echo yes fi 我该怎 ...

  9. bash中的字符串长度

    本文翻译自:Length of string in bash How do you get the length of a string stored in a variable and assign ...

最新文章

  1. 你动、蒙娜丽莎跟着一起动,OpenCV这么用,表情口型造假更难防了
  2. 【一周入门MySQL—2】单表查询
  3. QNNPACK高性能前向内核库全面剖析——引言篇
  4. 互联网产品设计常用文档类型-BRD、MRD、PRD、FSD
  5. python参数传递时不构造新数据对象_关于函数的参数传递(parameter passing),以下选项中描述错误的是_学小易找答案...
  6. python与数学关系大吗_通过一个简单的数学游戏,清晰了解各大编程语言之间的一些区别...
  7. 【Java】Java对象转换成Map
  8. mysql中IFNULL,IF,CASE的区别
  9. 10张精美可视化大屏模板分享,加极简制作攻略!抓紧收藏
  10. HDOJ---3790 最短路径问题[Dijkstra算法||SPFA]
  11. 【推荐精读】从item-base到svd再到rbm,多种Collaborative Filtering(协同过滤算法)从原理到实现
  12. Sybase的安装、配置及使用(五)
  13. vs2015安装与配置
  14. 201771010112罗松《面向对象程序设计(java)》第十二周学习总结
  15. CentOS (linux) 启动错误 *** Run 'setenforce 1'to reenable. 解决
  16. 递四方(4PX)一面
  17. 争议不断的AI绘画,靠什么成为了顶流?
  18. 高通Ziad Asghar:AI处理的重心从云端向边缘侧转移,智能手机是最佳平台 | MEET 2023...
  19. 飞秋 飞秋2010 飞秋2010下载 飞秋下载2010正式版
  20. 时间分辨率、频率分辨率

热门文章

  1. Android实现3D旋转效果
  2. Wireshark图解教程
  3. fedora下安装pps
  4. Human_height
  5. VSFTP配置详解+虚拟用户的支持
  6. 百度之后,电子银行还安全么?
  7. 使用python pandas dataframe学习数据分析
  8. 女朋友天天气我怎么办_关于我的天气很奇怪
  9. 面试题 10.02. 变位词组
  10. sklearn.fit_两个小时后仍在运行吗? 如何控制您的sklearn.fit。