Shell常见的字符串操作

字符串连接

1
2
3
4
5
6
#!/bin/bash

str1="Hello"
str2="World"
combined="$str1 $str2"
echo $combined # 输出 "Hello World"

字符串比较

可以使用=和!=来比较字符串:

1
2
3
4
5
6
7
8
9
10
#!/bin/bash

str1="Hello"
str2="World"

if [ "$str1" = "$str2" ]; then
echo "Strings are equal"
else
echo "Strings are not equal"
fi

获取字符串长度

1
2
3
4
5
#!/bin/bash

str="Hello World"
length=${#str}
echo $length # 输出 11

子字符串提取

可以使用${string:position:length}来提取子字符串:

1
2
3
4
5
#!/bin/bash

str="Hello World"
substr=${str:6:5}
echo $substr # 输出 "World"

子字符串替换

可以使用${string/search/replace}来替换子字符串

1
2
3
4
5
#!/bin/bash

str="Hello World"
newstr=${str/World/Shell}
echo $newstr # 输出 "Hello Shell"

查找子字符串

可以使用expr命令来查找子字符串的位置:

1
2
3
4
5
#!/bin/bash

str="Hello World"
position=$(expr index "$str" "World")
echo $position # 输出 7

截取子字符串

可以使用${string:position}从指定位置开始截取字符串:

1
2
3
4
5
#!/bin/bash

str="Hello World"
substr=${str:6}
echo $substr # 输出 "World"

去掉字符串中的前后空格

可以使用sed命令来去掉字符串中的前后空格:

1
2
3
4
5
#!/bin/bash

str=" Hello World "
trimmed=$(echo $str | sed 's/^ *//;s/ *$//')
echo "|$trimmed|" # 输出 "|Hello World|"