while read wholeline
do
echo ${wholeline} --outputs John Jones
#grab all the lines that begin with these values
#grep '^John Jones' workfile2 --works, prints contents of workfile2 where the 1st matches
grep '^${wholeline}' workfile2 # --does not work. why? it should be the same result.
done < workfile1
workfile1
John Jones
파일의 줄 시작 부분에 있는 값을 포함합니다.
workfile2
John Jones
파일의 줄 시작 부분에 있는 값을 포함합니다.
두 번째 명령문을 어떻게 변경하여 grep
작동하게 할 수 있습니까? 아무것도 얻지 못했습니다.
답변1
작은따옴표를 사용하고 있다면 큰따옴표를 사용해 보세요. 셸 확장 변수의 경우 큰따옴표가 필요합니다.
while read wholeline
do
echo ${wholeline} --outputs John Jones
#grab all the lines that begin with these values
#grep '^John Jones' workfile2 # --works, prints contents of workfile2
# where the 1st matches
grep "^${wholeline}" workfile2 # --does work now, since shell
# expands ${wholeline} in double quotes
done < workfile1