2
113050050/CS101/mysql_java.pdf

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

line="113050050/CS101/mysql_java.pdf"

现在我想$line根据分隔符拆分/并将每个单独的部分存储在一个变量中

var1=113050050
var2=CS101
var3=mysql_java.pdf
4

2 回答 2

7
$ IFS=/ read var1 var2 var3 <<< "$line"

结果

$ echo $var1
113050050

$ echo $var2
CS101

$ echo $var3
mysql_java.pdf
于 2013-04-18T05:27:51.863 回答
1

这可能对您有用:

line="113050050/CS101/mysql_java.pdf"
var=(${line//\// })
var1=${var[0]}
var2=${var[1]}
var3=${var[2]}

正如@chepner 指出的那样,如果$line变量中存在空格,这将失败,也许更安全的解决方案是使用IFS变量:

line="113050050/CS101/mysql_java.pdf" O="$IFS" IFS='/' var=($line) IFS="$O"
于 2013-04-18T05:42:45.500 回答