如何在bash中将单词分成两个单词(Unix)

时间:2015-03-17 17:57:37

标签: string bash unix word

我目前有:

${array[2]}   =  1000($s3);

但我想把这个词分成两个词:

第一个是' 1000'

第二是' $ s3

和另一个是:

50000($s4)

1st:50000

第二名:$ s4

然后将它们存储为字符串

我该怎么做?

2 个答案:

答案 0 :(得分:2)

您可以将read与自定义IFS

一起使用
s='1000($s3)'
IFS='()' read a b <<< "$s"

echo -e "a=<$a>\nb=<$b>"
a=<1000>
b=<$s3>

答案 1 :(得分:0)

另一种在bash中执行此操作的方法是:

for I in '1000($s3)' '50000($s4)'
do
   a="${I%(*}"
   b="${I#*(}"
   echo "1st=${a}, 2nd=${b%)}"
done

a="${I%(}" (中的所有内容从b="${I#移除,并移至变量的末尾。 (}" (删除了echo 2nd=${b%)}之前的所有内容。 )删除了最终的{{1}}。