awk를 사용하여 파일에서 문자열이 발견되면 어떻게 true를 반환할 수 있나요?

awk를 사용하여 파일에서 문자열이 발견되면 어떻게 true를 반환할 수 있나요?

다음과 같은 파일이 있습니다.

xxxxx,aaaaaa,abab21323,ccccccc

파일에 변수로 제공된 문자열이 포함되어 있는 경우 특정 명령을 실행하는 스크립트가 필요합니다. 그렇지 않은 경우 다른 명령을 실행하십시오.

이것은 내 bash 코드입니다.

#!/bin/bash
var1=$1

if grep -Fq "$var1" Agenda.txt
then

## SOME COMMANDS

else
## SOME OTHER COMMANDS
fi

작동하지만 awk.

답변1

다음과 같습니다( -Fgrep -q옵션에 따라 다름).

#!/bin/bash
var1=$1

if awk -v var1="$var1" 'index($0,var1)>0 {r=1;exit} END{exit r!=1}' Agenda.txt
then

## SOME COMMANDS

else
## SOME OTHER COMMANDS
fi

관련 정보