Chinaunix

标题: 还是关于awk ' '内的问题,我错在哪? [打印本页]

作者: z_h_m    时间: 2003-07-06 21:21
标题: 还是关于awk ' '内的问题,我错在哪?
文本文件aaa,内容为:

2|1|文字|
2|2|文字|
2|3|文字|
4|1|文字|
4|2|文字|
4|3|文字|

我写如下:

awk -F "|" '
{
do{
if($2>2){$2++;printf $0};
if($2<=2){printf $0};
}while(($1==2)||($1==4))}' aaa>bbb

运行时候给出提示:
do{
if($2>2){$2++;printf $0};
if($2<=2){printf $0};
}while(($1==2)||($1==4))}
: not found

我对awk内的do  while不会用,
我道底错在哪呢?
请各位多多指教,谢谢!
作者: 红袖添香    时间: 2003-07-06 21:27
标题: 还是关于awk ' '内的问题,我错在哪?
...

能运行啊,只不过是个死循环....
作者: z_h_m    时间: 2003-07-06 21:29
标题: 还是关于awk ' '内的问题,我错在哪?
哦,是吗.我用的模拟环境是uwin,也许是它的问题
另一个问题"死循环"?
请帮忙解释一下,可以吗?谢谢
作者: z_h_m    时间: 2003-07-06 21:40
标题: 还是关于awk ' '内的问题,我错在哪?
发表于: 2003-07-06 21:07    发表主题:   

--------------------------------------------------------------------------------

...

能运行啊,只不过是个死循环....

我知道了,问题是"}while(($2==2)||($2==4))"是吗?
这个条件不对
作者: 红袖添香    时间: 2003-07-06 21:42
标题: 还是关于awk ' '内的问题,我错在哪?
原帖由 "z_h_m" 发表:
发表于: 2003-07-06 21:07    发表主题:   

--------------------------------------------------------------------------------

...

能运行啊,只不过是个死循环....

我知道了,问题是"}while(($2=..........
   


作者: anonimousboy    时间: 2003-07-07 07:54
标题: 还是关于awk ' '内的问题,我错在哪?
原帖由 "z_h_m" 发表:
发表于: 2003-07-06 21:07    发表主题:   

--------------------------------------------------------------------------------

...

能运行啊,只不过是个死循环....

我知道了,问题是"}while(($2=..........
   
好严重的错误啊~~~~~~~
作者: z_h_m    时间: 2003-07-07 14:21
标题: 还是关于awk ' '内的问题,我错在哪?
知道了,下次改正.
不过我还发现一个错误:
awk -F "|" '
{
do{
......

应该写成:
awk -F "|" '{
do{
........




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2