Linux Shell编程(15)——操作字符串


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


字符串长度

${#string}

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


stringZ=abcABC123ABCabc


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



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

#!/bin/bash
# paragraph-space.sh


# 给单倍行距的文本文件段落之间插入一个空白行.
# Usage: $0 <FILENAME


MINLEN=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  
done


exit 0





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


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


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

posted on 2014-09-30 07:51  三少爷的剑123  阅读(168)  评论(0编辑  收藏  举报

导航