Shell字符串处理

Shell字符串处理

${}的作用:

  • 引用变量
  • 文本处理(单行文本)

获取字符串长度

1
echo ${#VAR}

字符串切片

格式:

  • ${parameter:offset}
  • ${parameter:offset:length} 截取从offset个字符开始,向后length个字符
    例如:
  • echo ${VAR:(-2)} 截取最后两个字符串
  • echo ${VAR:(-3):2}

替换字符串

格式:${parameter/pattern/string},pattern前面开头一个正斜杠为匹配第一个字符串,两个表示匹配所有,可以匹配正则表达式
例如:

1
2
3
4
5
VAR='hello world world!'
# 第一个world替换为WORLD
echo ${VAR/world/WORLD}
# 将全部world字符串替换为WORLD
echo ${VAR//world/WORLD}

字符串截取

格式:

  • ${parameter#world}
  • ${parameter##world}
  • ${parameter%world}
  • ${parameter%%world}
    #去掉左边,最短匹配模式,##最长匹配模式
    %去掉右边,最短匹配模式,%%最长匹配模式

变量状态赋值

  • ${VAR:-string} 如果VAR变量为空则返回string
  • ${VAR:+string} 如果VAR变量不为空则返回string
  • ${VAR:=string} 如果VAR变量为空则重新赋值VAR变量值为string
  • ${VAR:?string} 如果VAR变量为空则将string输出到stderr

字符串颜色

字体颜色 字体背景颜色 显示方式
30 黑 40 黑 0 终端默认设置
31 红 41 深红 1 高亮显示
32 绿 42 绿 4 下划线
33 黄色 43 黄 5 闪烁
34 蓝 44 蓝 7 反白显示
35 紫色 45 紫色 8 隐藏
36 深绿 46 深绿 -
37 白色 47 白色 -
坚持原创技术分享,您的支持将鼓励我继续创作!
0%