find 명령으로 추출한 파일을 반복하여 다른 명령의 입력으로 사용하려면 어떻게 해야 합니까?

find 명령으로 추출한 파일을 반복하여 다른 명령의 입력으로 사용하려면 어떻게 해야 합니까?
find . -name 'Email*.log' -exec grep -il 'bad password' {} \;| while read line; do
  TEMPNUM=`tail -20 $line | grep 'bad password' | wc -l`
  if [ $TEMPNUM -gt 0 ]; then
     awk '/Username/{print $NF}' $line >> expiredmailbox.txt
  fi
done

이것은 내가 사용하고 쉘 스크립트를 실행하는 코드입니다.
라인 6: $line을 에코하려고 할 때에도 예기치 않은 토큰 "완료"에 접근하는 구문 오류가 발생합니다 . 오류가 발생합니다. 이 문제를 어떻게 제거할 수 있습니까?

답변1

이거 시도해 볼 수 있어?..

#!/bin/bash

find . -name 'Email*.log' | xargs grep -li  'bad password' |  while read line
do
  TEMPNUM=$(tail -20 "${line}" | grep -c 'bad password')
  if [ "${TEMPNUM}" -gt "0" ]; then
     awk '/Username/{print $NF}' "${line}" >> expiredmailbox.txt
  fi
done

관련 정보