Bash:使用multichar分隔符

时间:2017-02-28 09:33:18

标签: string bash

我有以下文件并致电cat myfile | ./myscript.sh

(Item)
(Values)
blabla
blabla
(StopValues)
(Item)
(Values)
hello
hello
(StopValues)

在我的脚本中,我将cat中的管道内容保存到变量:s=$(cat)

如何将此字符串拆分为(在此示例的上下文中)现在包含2个变量的数组,其中一个说

(Item)
(Values)
blabla
blabla
(StopValues)

另一个说

(Item)
(Values)
hello
hello
(StopValues)

1 个答案:

答案 0 :(得分:2)

假设源字符串位于变量s中,以下bash脚本将根据需要填充数组变量a

a=()
i=0
while read -r line
do
  a[i]="${a[i]}${line}"$'\n'
  if [ "$line" == "(StopValues)" ]
  then
    let ++i
  fi
done <<< "$s"