我有以下文件并致电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)
答案 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"