免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1890 | 回复: 7
打印 上一主题 下一主题

能否把下面的SED语句换成AWK 的IF语句 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-15 11:28 |只看该作者 |倒序浏览
sed '1,$s/215103|/63|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215106|/66|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215121|/81|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215122|/82|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215123|/83|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215125|/85|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
sed '1,$s/215128|/88|/g' $1 >$2_dq.txt
mv $2_dq.txt $1
rm $2_dq.txt 2>/dev/null
cat $1 | awk 'BEGIN { FS="|" } { printf("%s|%s|%s|%s|%s|%s|%s|%s|%s|%s|-%.2f|%s|%s|%s|%s|%.2f|%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","'$2'","1","21511","0",$1,"2",$2,"000","11000020","2",$9,"0.0","0.0","0.0","0.0",$10,$7," "," ","0",$14,$14,$17,$17,$16,"0.0","0.0","1","0","0","0","0","0.0","0.0","39",$1,"1","1","0","0000000000000"," ","0","SGJZ"," ","3") }' >$2_dq.txt

把下面的语句集成到AWK中
if ( $7 == "215103" ) $7="63";
    else if ( $7 == "215106" ) $7="66";



cat $1 | awk 'BEGIN { FS="|" ; if ( $7 == "215103" ) $7="63"; } { printf(".........
$7个字段不进行付值还是原来的数。

[ 本帖最后由 hbczjzc 于 2005-11-15 11:31 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2005-11-15 11:33 |只看该作者
怎么把if ( $7 == "215103" ) $7="63"; 放在BEGIN里面?

论坛徽章:
0
3 [报告]
发表于 2005-11-15 11:35 |只看该作者
原帖由 li2002 于 2005-11-15 11:33 发表
怎么把if ( $7 == "215103" ) $7="63"; 放在BEGIN里面?


呵呵,偶对AWK皮毛而已。应该怎样放啊。

论坛徽章:
0
4 [报告]
发表于 2005-11-15 11:41 |只看该作者
awk 'BEGIN { FS="|" }{ if ( $7 == "215103" ) $7="63";  printf(".........
放在后面的大括号里

论坛徽章:
0
5 [报告]
发表于 2005-11-15 11:43 |只看该作者
原帖由 li2002 于 2005-11-15 11:41 发表
awk 'BEGIN { FS="|" }{ if ( $7 == "215103" ) $7="63";  printf(".........
放在后面的大括号里

试过了,好像 $7都变成了空得了,是不是哪有错误啊。$7可以这样付值吗

论坛徽章:
0
6 [报告]
发表于 2005-11-15 11:50 |只看该作者
把你用awk处理的数据贴出来,和你的awk语句

论坛徽章:
0
7 [报告]
发表于 2005-11-15 12:04 |只看该作者
awk 'BEGIN { FS="|" }{ if ( $7 == "215103" ) $7="63"; ......

为什么 $7 列变成了空值。
位置参数 $2 文件的文件调用位置参数1中的第7个字段,执行了if ( $7 == "215103" ) $7="63"; 生成的$2_dq.txt 文件第17个字段(调用1文件的第7个字段),而变成了空值,

[ 本帖最后由 hbczjzc 于 2005-11-15 12:06 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2005-11-16 08:35 |只看该作者
看错文件了程序是  }' >$2_dq.txt

输入到 $2_dq.txt 偶一直看 $2.txt 文件(原文件以存在)

不好意思。哈哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP