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

命令行可正常运行的Awk代码写入脚本后无输出该如何解决?

问题原因

你把命令行参数 -F, 直接写入了awk脚本主体,这不符合awk脚本的语法规则,导致匹配逻辑无法正常执行。

正确写法

修改你的script.awk内容如下:

#!/usr/bin/awk -f

# 处理文件前先设置字段分隔符为逗号,等价于命令行的-F参数
BEGIN {
    FS = ","
}

# 匹配规则和命令行写法完全一致,符合条件的行默认会输出
$4 == "finnish" && $5 ~ /swedish/

修改完成后直接执行gawk -f script.awk file.csv即可得到和命令行调用一致的结果。

可选方案

如果你不想在脚本里设置字段分隔符,也可以在调用时传入-F参数,此时脚本可以简化为:

#!/usr/bin/awk -f
$4 == "finnish" && $5 ~ /swedish/

调用命令改为:

gawk -F, -f script.awk file.csv

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 19:45:08