2

私は直接データを入力しているので、これはうまくいきます。

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[*]}
4

2 に答える 2

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[*]}
于 2012-06-05T08:07:57.080 に答える
1
arr=( $(awk /"$name"/'{print NR}' filename ) )
于 2012-06-05T07:14:06.590 に答える