📜  组合字符串 bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:56:50.799000             🧑  作者: Mango

组合字符串 bash - Shell-Bash

介绍:

在 Shell 编程中,组合字符串是经常需要用到的操作。本文将介绍如何在 Bash 中组合字符串,包括字符串拼接、字符串替换、字符串剪裁、字符串分割等操作。

字符串拼接:

字符串拼接可以使用两个字符串连接符:+.,例如:

#!/bin/bash
str1="Hello"
str2="World"
echo $str1 $str2     # 输出:Hello World
echo $str1$str2      # 输出:HelloWorld
echo $str1$str2$str1 # 输出:HelloWorldHello
echo ${str1}" "${str2}"!"  # 输出:Hello World!

上述代码使用 $str1$str2 分别存储了 "Hello" 和 "World" 两个字符串,其余代码使用了不同的方法将这两个字符串组合输出。需要注意的是,使用 ${str1} 的形式,可以在字符串后添加一些固定的内容,如空格和其他符号。

字符串替换:

字符串替换可以使用 ${string/old-string/new-string} 语法,$string 是待处理的字符串,old-string 是需要替换的字符串,new-string 是替换后的字符串,例如:

#!/bin/bash
str="Shell Script Tutorial"
echo ${str/Shell/Linux}  # 输出:Linux Script Tutorial

# 多次替换
echo ${str/S/s}
echo ${str/e/E}
echo ${str/l/L}
echo ${str/l/L}
echo ${str/ /-}

上述代码使用了 /${string/old/new} 的方式进行字符串替换。最后5行代码分别替换了 Sel、空格和第一个 l

字符串剪裁:

字符串剪裁可以使用 ${string:start:stop} 的语法,其中 startstop 分别为截取起始位置和停止位置(不包括该位置的字符),例如:

#!/bin/bash
str="www.baidu.com"
echo ${str:4}    # 输出:baidu.com
echo ${str:4:5}  # 输出:baidu
echo ${str:4:-4} # 输出:baidu

上述代码使用了 ${string:start:stop} 的方式截取指定字符串,其中 str 是待处理的字符串,:4 表示从第5个字符开始,:-4 表示从倒数第4个字符开始截取。

字符串分割:

字符串分割可以使用 ${string#substring}${string##substring} 两个语法,其中 substring 为指定的分割符,例如:

#!/bin/bash
str="http://www.baidu.com"
echo ${str#http://}     # 输出:www.baidu.com
echo ${str#http://www.} # 输出:baidu.com
echo ${str#https://}    # 输出:http://www.baidu.com

echo ${str##http://}     # 输出:www.baidu.com
echo ${str##http://www.} # 输出:baidu.com
echo ${str##https://}    # 输出:http://www.baidu.com

上述代码使用了 ${string#}${string##} 的方式分割指定字符串,其中 str 是待处理的字符串,### 分别表示从前往后匹配,${string#substring} 找到第一个 substring 并删除其前面部分的字符,${string##substring} 找到最后一个 substring 并删除其前面部分的字符。

结语

本文介绍了在 Bash shell 中,如何进行字符串的各种操作,通过以上的代码示例可以看出,组合字符串的操作非常丰富灵活,可以满足不同的需求,希望对大家有所帮助。