You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

bash脚本接收用户输入搜索文件并格式化输出时报EOF错误如何解决

问题排查与解决方案

报错unexpected EOF while looking for matching ''`由awk命令的语法、引号配对、参数位置错误导致,具体问题及修正如下:

错误点梳理

  • 字段分隔符参数-F:位置错误,需放在awk选项位,不能写入模式匹配规则中
  • 变量模式匹配写法错误,/ /仅用于硬编码正则场景,传入变量直接写$0 ~ Keyword作为判断条件即可
  • 单引号配对错误,awk的规则块需要整体用单引号包裹,原代码提前断开了单引号
  • print语句末尾的输出字符串未闭合引号

修正后可运行代码

echo 'Enter a Keyword: '
read Keyword
awk -v Keyword="$Keyword" -F: '$0 ~ Keyword { print "Name: "$1"\nPhone: "$2"\nEmail: "$3"\n" }' myfile

可选优化

如需忽略大小写匹配,将判断条件替换为tolower($0) ~ tolower(Keyword)即可。

内容的提问来源于stack exchange,提问作者jkmar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 00:57:04