Bash已经支持了令人惊讶的字符串操作的数量。不幸地,这些工具缺乏统一的标准。一些是参数替换的子集,其它受到UNIX的expr命令的功能的影响。这导致不一致的命令语法和冗余的功能,但这些并没有引起混乱。


字符串长度

${#string}

expr length $stringexpr "$string" : '.*'


stringZ=abcABC123ABCabc


echo ${#stringZ} # 15
echo `expr length $stringZ` # 15
echo `expr "$stringZ" : '.*'` # 15



例子:在一个文本文件的段落之间插入一个空白行

#!/bin/bash# paragraph-space.sh# 给单倍行距的文本文件段落之间插入一个空白行.# Usage: $0 <FILENAMEMINLEN=45        # 可能需要改变这个值.#  Assume lines shorter than $MINLEN characters#+ terminate a paragraph.while read line  # 提供和输入文件一样多的行...do  echo "$line"   # 输出行本身.  len=${#line}  if [ "$len" -lt "$MINLEN" ]    then echo    # 在一个短行结束后打印一个空白行.  fi  doneexit 0





匹配字符串开头的子串的长度


expr match "$string" '$substring'
$substring 是一个正则表达式.


expr "$string" : '$substring'
$substring 是一个正则表达式.

更多相关文章

  1. linux中常用时间和字符串之间相互转化
  2. 文本文件到字符串数组?
  3. 字符串处理函数strcat和strtok
  4. gdb捕获syscall条件和字符串比较
  5. Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
  6. Linux生成随机字符串
  7. 如何通过使用where子句与字符串格式(varchar(103),...,10)将103格式化
  8. 数据库截取字符串SUBSTR函数的使用
  9. MySQL中的字符串模式匹配

随机推荐

  1. android ListView 中getview学习总结
  2. Android(安卓)安装配置及其项目开发
  3. Android启动续-------SystemSever启动
  4. Android自用-----Android中一些关于Activ
  5. Android之路——第二个Android小程序(Andr
  6. Android imageView图片按比例缩放
  7. freescale Android(安卓)Camera 调试总结
  8. Android(安卓)Paint和Color类
  9. android系统中“关于设备”中android版本
  10. this android sdk requires android deve