中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-05 00:00
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教一下awk代码怎么转化到bat文件中来 查看 808 回复 4
楼 主 请教一下awk代码怎么转化到bat文件中来 发表于 2007-06-16 10:27 ·  中国 江苏 南京 电信
新手上路
积分 10
发帖 4
注册 2007-06-16 10:03
19年会员
UID 91491
性别 男
状态 离线
各位大侠,请教一下下面的unix的shell下面的awk代码怎么转化到bat文件中来,诚请不吝赐教,谢谢

awk -F\| '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $sourcefile > $file1

awk -v importdate=$ImportDate '{if(substr($0,24,2)=="09"||substr($0,24,2)=="29"||substr($0,24,2)=="19"||substr($0,24,2)=="39"||substr($0,24,2)=="10"||substr($0,24,2)=="14") printf"%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|\n",importdate,substr($0,1,5),substr($0,6,5),substr($0,11,5),substr($0,16,17),substr($0,33,3),substr($0,36,18),substr($0,54,10),substr($0,64,8),substr($0,72,9),substr($0,81,1),substr($0,82,18),substr($0,100,1),substr($0,101,3),substr($0,104,9),substr($0,113,5),substr($0,118,5),substr($0,123,20),substr($0,143,60),substr($0,203,5),substr($0,208,5),substr($0,213,5),substr($0,218,6),substr($0,224,3),substr($0,227,15),substr($0,242,4),substr($0,246,40),substr($0,286,10),substr($0,296,15),substr($0,311,18),substr($0,329,18),substr($0,347,18),substr($0,365,18),substr($0,383,34),substr($0,417,60)}' $file1 > $file2

awk -F\\ '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $file2 > $file1
awk -F\/ '{printf "%s%s%s%s%s%s\n",$1,$2,$3,$4,$5,$6}' $file1 > $file2

head -n 1 $file2 > $file3
tail -n 1 $file2 >> $file3

awk -F\| '{printf "%s\n",$5}' $file3 > $lastfile
2 发表于 2007-06-16 10:55 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

BEGIN{
#以#号开头的是注释行
#BEGIN里面写上初始化的代码,比如初始化变量等等
#这里也可以写脚本对文件进行处理之前要做的事情
}
{
#这里是对文件进行处理的一段
}
END{
#对文件的处理完了之后要进行的操作
}

假如以上脚本为 awkscript.txt ,那么在命令行可以这样来处理文件 input.txt ,并将结果输出到 output.txt 文件中去。
awk -f awkscript.txt input > output.txt

自己照这个来写。
3 发表于 2007-06-16 16:08 ·  中国 江苏 南京 电信
新手上路
积分 10
发帖 4
注册 2007-06-16 10:03
19年会员
UID 91491
性别 男
状态 离线
试了一下,好象不行,我是希望在bat文件中实现上诉awk的功能,请问除了第三方软件有办法没?
4 发表于 2007-06-16 21:21 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
在批处理里面是可以的,建议楼主先看看awk的基础教程。
5 发表于 2007-06-18 10:36 ·  中国 江苏 南京 联通
新手上路
积分 10
发帖 4
注册 2007-06-16 10:03
19年会员
UID 91491
性别 男
状态 离线
这个是不是在unix下运行的啊?我是想要在dos下运行的~~~
论坛跳转: