找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23451|回复: 3

[技术讨论] gawk 不能输出中文到 CMD 窗口的解决办法(WIN7系统)

[复制链接]
发表于 2015-1-17 14:47:33 | 显示全部楼层 |阅读模式
比如 a.txt 内容如下:
  1. 中文
  2. 1
  3. 2
复制代码
执行 gawk "{print}" a.txt 会得到以下错误提示:
gawk: cmd. line:1: (FILENAME=a.txt FNR=1) fatal: print to "standard output" fai
led (Exec format error)

后来发现如果输出到文件中就没有问题:
  1. gawk "{print}" a.txt >b.txt
复制代码
然后试了下 >con 则可以输出到 CMD 窗口:
  1. gawk "{print}" a.txt >con
复制代码
gawk 版本: GNU Awk 4.1.0, API: 1.0
系统: win7 32位
发表于 2015-1-17 15:37:57 | 显示全部楼层
Win7 SP1 x64 + gawk 4.1.0 测试成功,感谢分享。
发表于 2015-2-1 18:12:39 | 显示全部楼层
本帖最后由 CrLf 于 2015-2-1 18:25 编辑

题外话,不考虑可读性的话,gawk "{print}" 可简写成 gawk "1"
中文的问题应该跟版本有关系
发表于 2017-6-17 01:09:19 | 显示全部楼层
经过自己测试,gawk 4.1.3(在本论坛搜索下载)版本读取行的效率是最高的(脚本代码一样,读取行数一样)。而gawk 4.x系列在windows CMD中print 中文就提示1楼版主说的错误,版主的办法是可以行的。
如:gawk -f  xxx.awk  xxx.csv >con
批处理脚本文件编码和awk脚本文件编码必须为中文编码(如GB2312)才可以。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 00:46 , Processed in 0.016321 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表