Bash:基于某些分隔符分割字符串并将每个分隔符存储在变量中

use*_*815 2 bash shell scripting awk sed

113050050/CS101/mysql_java.pdf

以上是我的字符串,存储在变量'line'中

line="113050050/CS101/mysql_java.pdf"
Run Code Online (Sandbox Code Playgroud)

现在我想$line基于分隔符进行拆分/并将每个单独的部分存储在变量中

var1=113050050
var2=CS101
var3=mysql_java.pdf
Run Code Online (Sandbox Code Playgroud)

小智 7

$ IFS=/ read var1 var2 var3 <<< "$line"
Run Code Online (Sandbox Code Playgroud)

结果

$ echo $var1
113050050

$ echo $var2
CS101

$ echo $var3
mysql_java.pdf
Run Code Online (Sandbox Code Playgroud)

  • +1如果您事先不知道`$ line`中有多少组件,可以使用`IFS =/read -a dirs <<<"$ line"`将结果放入数组中. (2认同)