Linux字符串操作

Posted Just_Get

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux字符串操作相关的知识,希望对你有一定的参考价值。

Linux字符串操作

描述

shell内置一系列的操作符合,可以对字符串进行操作;

常用操作

表达式含义
${#string}$string的长度
${string:position}在string中从位置position开始提取子串
${string:position:length}在string中从位置position开始提取长度为$length的子串
${string#substring}从变量string的开头删除最短匹配substring的子串
${string##substring}从变量string的开头删除最长匹配substring的子串
${string%substring}从变量string的结尾删除最短匹配substring的子串
${string%%substring}从变量string的结尾删除最长匹配substring的子串
${string/substring/replacement}使用replacement来代替第一个匹配的substring
${string//substring/replacement}使用replacement来代替所有匹配的substring
${string/#substring/replacement}使用replacement来代替string前缀匹配的substring
${string/%substring/replacement}使用replacement来代替string后缀匹配的substring

示例

  • ${#string}
[root@OpenWrtEXT:test]#test_str='/tmp/test/test/myvar'
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${#test_str}
20
[root@OpenWrtEXT:test]#
  • ${string:position}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:4}
/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:6}
est/test/myvar
[root@OpenWrtEXT:test]#
  • ${string:position:length}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str:6:9}
est/test/
[root@OpenWrtEXT:test]#echo ${test_str:3:5}
p/tes
[root@OpenWrtEXT:test]#
  • ${string#substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str#*test}
/test/myvar
[root@OpenWrtEXT:test]#
  • ${string##substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str##*test}
/myvar
[root@OpenWrtEXT:test]#
  • ${string%substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str%test*}
/tmp/test/
[root@OpenWrtEXT:test]#
  • ${string%%substring}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str%%test*}
/tmp/
[root@OpenWrtEXT:test]#
  • ${string/substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str/test/abc}
/tmp/abc/test/myvar
[root@OpenWrtEXT:test]#
  • ${string//substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
/tmp/test/test/myvar
[root@OpenWrtEXT:test]#echo ${test_str//test/abc}
/tmp/abc/abc/myvar
[root@OpenWrtEXT:test]#
  • ${string/#substring/replacement}
[root@OpenWrtEXT:test]#test_str='www.baidu.com'
[root@OpenWrtEXT:test]#echo $test_str
www.baidu.com
[root@OpenWrtEXT:test]#echo ${test_str/#www/abc}
abc.baidu.com
[root@OpenWrtEXT:test]#
  • ${string/%substring/replacement}
[root@OpenWrtEXT:test]#echo $test_str
www.baidu.com
[root@OpenWrtEXT:test]#echo ${test_str/%com/abc}
www.baidu.abc
[root@OpenWrtEXT:test]#

以上是关于Linux字符串操作的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段——git命令操作一个完整流程

[linux][c/c++]代码片段01

[linux][c/c++]代码片段02

VSCode自定义代码片段15——git命令操作一个完整流程

VSCode自定义代码片段15——git命令操作一个完整流程

LINUX PID 1和SYSTEMD PID 0 是内核的一部分,主要用于内进换页,内核初始化的最后一步就是启动 init 进程。这个进程是系统的第一个进程,PID 为 1,又叫超级进程(代码片段