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

おすすめ記事