변수 "grep" 파일을 사용하는 스크립트

변수 "grep" 파일을 사용하는 스크립트
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

workfile1John Jones파일의 줄 시작 부분에 있는 값을 포함합니다.

workfile2John 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

관련 정보