使用shell脚本将值存储在数组中

时间:2012-06-05 06:55:00

标签: shell unix quoting

这很好,因为我直接输入数据。

declare -a arr
arr=( $(awk '/123456789/{print NR}' filename) )
echo ${arr[0]}
echo ${arr[*]}

当我这样做时,它不起作用。你可以告诉我如何在下面的命令中使用参数'name':

echo  Enter your search string:  
read name
declare -a arr
arr=( $(awk '/"$name"/{print NR}' filename )
echo ${arr[0]}
echo ${arr[*]}

2 个答案:

答案 0 :(得分:2)

根据您的评论我发布此答案。这是适合您的脚本:

read -e -p "Enter your search string: " name
#echo "name: [$name]"
declare -a arr
arr=( $(awk /"$name"'/{print NR}' x ) )
echo ${arr[0]}
echo ${arr[*]}

答案 1 :(得分:1)

arr=( $(awk /"$name"/'{print NR}' filename ) )