我有一个场景,我在一个名为 demo.txt 的文件中有三个词
我的三个字是:苹果,芒果,葡萄
我想编写一个线性命令来检查文件中是否存在所有三个单词,然后显示匹配找到成功,否则显示匹配未找到
如何以一种线性方式处理 awk 命令
下面是我的代码不起作用
awk '{print (/apple/|/mango/|/grapes/ ? "true : match found " : "false : not found ")}' /D/demo.txt
Run Code Online (Sandbox Code Playgroud)
示例文件:demo.txt
abc:apple
b:mango
fgg:grapes
ball , candle
vik,mani
raj,vilas
Run Code Online (Sandbox Code Playgroud)
除了第一个文件**我有包含以下文本的第二个文件
Azr
hjkds
$$ABC=%wkde**mo
$Bilas=%ram
xyz
vxbnx
ram
Run Code Online (Sandbox Code Playgroud)
我想检查是否存在确切的关键字 $$ABC=%wkde**mo $Bilas=%ram
如果找到匹配,则显示消息关键字找到,否则显示关键字未找到
你能不能试试以下。如果您的 awk 支持字边界。
awk '
/\<apple\>/{
app_found=1
}
/\<mango\>/{
mango_found=1
}
/\<grapes\>/{
grapes_found=1
}
END{
if(app_found && mango_found && grapes_found){
print "All 3 words found."
}
else{
print "All 3 words are NOT present in whole Input_file."
}
}
' Input_file
Run Code Online (Sandbox Code Playgroud)