Linux Shell编程(15)——操作字符串
16lz
2021-01-22
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 是一个正则表达式.
更多相关文章
- linux中常用时间和字符串之间相互转化
- 文本文件到字符串数组?
- 字符串处理函数strcat和strtok
- gdb捕获syscall条件和字符串比较
- Linux C 字符串输入函数 gets()、fgets()、scanf() 详解
- Linux生成随机字符串
- 如何通过使用where子句与字符串格式(varchar(103),...,10)将103格式化
- 数据库截取字符串SUBSTR函数的使用
- MySQL中的字符串模式匹配