bash从文件中读取带引号的元素并将它们存储到数组中

时间:2015-07-13 17:31:53

标签: bash

这可能是一个愚蠢的问题,但我找不到答案,我现在正在寻找一个多小时。

我有一行文件:

"Snow In Paradise" "Tomorrow Sea" "Edge Time" "etc ..."

我希望能够从另一个线程中完全像这个例子:

## declare an array variable
declare -a arr=("elem ent1" "e lement2" "element3")

## now loop through the above array
for i in "${arr[@]}"
do
   echo "$i"
   # or do whatever with individual element of the array
done

bash-4.2$ ./test
elem ent1
e lement2
element3

1 个答案:

答案 0 :(得分:1)

这应该这样做(使用grep):

IFS=$'\n' arr=($(grep -o '"[^"]*"' file))
...