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 是一个正则表达式.
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号