急!在线等shell编程一个小小问题

sh/bash/dash/ksh/zsh等Shell脚本
wangjingchu
帖子: 25
注册时间: 2008-05-17 9:56
联系:

Re: 急!在线等shell编程一个小小问题

#16

帖子 wangjingchu » 2010-12-25 12:47

trigger 写了:你见过在for循环里面手动设置指针的?count已经迭代了,用不着那一行,删掉吧。
说实话,我根本没看懂你要干什么。
还有一个问题,原文件是这样的
想在
a: begin后面插入 //case 1
b: begin后面插入//case 2
...
一直到最后一个x:begin后插入//case n
这个应该怎么实现啊
原文如下

代码: 全选

case (stato)
    a: begin
	 if (line1 && line2) stato=f;
	 else		     stato=b;
	 outp<=line1^line2;
	 overflw<=0;
       end
    e: begin
	 if (line1 && line2) stato=f;
	 else		     stato=b;
	 outp<=line1^line2;
	 overflw<=1;
       end
    b: begin
	 if (line1 && line2) stato=g;
         else		     stato=c;
	 outp<=line1^line2;
	 overflw<=0;
       end
wangjingchu
帖子: 25
注册时间: 2008-05-17 9:56
联系:

Re: 急!在线等shell编程一个小小问题

#17

帖子 wangjingchu » 2010-12-25 13:05

要插入//case n 的那些行的特点就是都有“: begin”
但是得按顺序来插入,不知道怎么弄哇
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 急!在线等shell编程一个小小问题

#18

帖子 trigger » 2010-12-25 14:01

[bash]i=1
while read line ;do
((`echo $line|grep -c :`>0))&&echo $line "//case $i"&&let i++||echo $line
done<lines[/bash]
case (stato)
a: begin //case 1
if (line1 && line2) stato=f;
else stato=b;
outp<=line1^line2;
overflw<=0;
end
e: begin //case 2
if (line1 && line2) stato=f;
else stato=b;
outp<=line1^line2;
overflw<=1;
end
b: begin //case 3
if (line1 && line2) stato=g;
else stato=c;
outp<=line1^line2;
overflw<=0;
end
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 急!在线等shell编程一个小小问题

#19

帖子 trigger » 2010-12-25 14:19

原格式输出
[bash]
#! /bin/bash
#sh018.sh
i=1
while IFS=# read "line" ;do
((`echo $line|grep -c :`>0))&&echo -e "$line" "//case $i"&&let i++||echo -e "$line"
done<lines
[/bash]
./sh018.sh
./sh018.sh

代码: 全选

case (stato)
    a: begin //case 1
    if (line1 && line2) stato=f;
    else           stato=b;
    outp<=line1^line2;
    overflw<=0;
       end
    e: begin //case 2
    if (line1 && line2) stato=f;
    else           stato=b;
    outp<=line1^line2;
    overflw<=1;
       end
    b: begin //case 3
    if (line1 && line2) stato=g;
         else           stato=c;
    outp<=line1^line2;
    overflw<=0;
       end
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
wangjingchu
帖子: 25
注册时间: 2008-05-17 9:56
联系:

Re: 急!在线等shell编程一个小小问题

#20

帖子 wangjingchu » 2010-12-25 14:28

trigger 写了:原格式输出
[bash]
#! /bin/bash
#sh018.sh
i=1
while IFS=# read "line" ;do
((`echo $line|grep -c :`>0))&&echo -e "$line" "//case $i"&&let i++||echo -e "$line"
done<lines
[/bash]
./sh018.sh
./sh018.sh

代码: 全选

case (stato)
    a: begin //case 1
    if (line1 && line2) stato=f;
    else           stato=b;
    outp<=line1^line2;
    overflw<=0;
       end
    e: begin //case 2
    if (line1 && line2) stato=f;
    else           stato=b;
    outp<=line1^line2;
    overflw<=1;
       end
    b: begin //case 3
    if (line1 && line2) stato=g;
         else           stato=c;
    outp<=line1^line2;
    overflw<=0;
       end
我这里输回不了有原文件里啊,这里只能在终端里显示这个

代码: 全选

always @(posedge clock)
begin
  if (reset)
  begin
    stato=a;
    outp<=0;
    overflw<=0;
  end
  else
//------------------------------------------------
//Start of a state machine for (stato)
//Case 1: //case 2
//Case 2: //case 3
//Case 3: //case 4
//Case 4: //case 5
//Case 5: //case 6
//Case 6: //case 7
//Case 7: //case 8
//Case 8: //case 9
//Case 9: //case 10
    case (stato)
 //case 11in
	 if (line1 && line2) stato=f;
	 else		     stato=b;
	 outp<=line1^line2;
	 overflw<=0;
       end
 //case 12in
	 if (line1 && line2) stato=f;
	 else		     stato=b;
	 outp<=line1^line2;
	 overflw<=1;
       end
 //case 13in
	 if (line1 && line2) stato=g;
         else		     stato=c;
	 outp<=line1^line2;
	 overflw<=0;
       end
 //case 14in
	 if (line1 || line2) stato=g;
         else		     stato=c;
	 outp<=~(line1^line2);
	 overflw<=0;
       end
 //case 15in
	 if (line1 && line2) stato=wf1;
         else		     stato=wf0;
	 outp<=line1^line2;
	 overflw<=0;
       end
 //case 16in
	 if (line1 || line2) stato=wf1;
         else		     stato=wf0;
	 outp<=~(line1^line2);
	 overflw<=0;
       end
 //case 17egin
	   if (line1 && line2) stato=e;
           else		       stato=a;
 	   outp<=line1^line2;
	   overflw<=0;
	 end
 //case 18egin
	   if (line1 || line2) stato=e;
           else		       stato=a;
	   outp<=~(line1^line2);
	   overflw<=0;
	 end
    endcase
end
endmodule
好像是把a:begin 那行给替换掉了
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 急!在线等shell编程一个小小问题

#21

帖子 trigger » 2010-12-25 14:37

抄明白,别抄错 :em45
不可能在原处更改。
用>>重定向到新文件
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
wangjingchu
帖子: 25
注册时间: 2008-05-17 9:56
联系:

Re: 急!在线等shell编程一个小小问题

#22

帖子 wangjingchu » 2010-12-25 14:53

trigger 写了:抄明白,别抄错 :em45
不可能在原处更改。
用>>重定向到新文件
:em06 :em06 嘿嘿,我已经弄好了
是不是这样啊

代码: 全选

i=1
while IFS=# read "line"
do
((`echo $line|grep -c ': begin'`>0))&&echo -e "$line" "//case $i"&&let i++||echo -e "$line"
done<b01.v>>me.log
唯一有一点就是那些备注是被换行了的,怎么直接插到同一行的最后面啊?
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 急!在线等shell编程一个小小问题

#23

帖子 trigger » 2010-12-25 15:31

wangjingchu 写了:
trigger 写了:抄明白,别抄错 :em45
不可能在原处更改。
用>>重定向到新文件
:em06 :em06 嘿嘿,我已经弄好了
是不是这样啊

代码: 全选

i=1
while IFS=# read "line"
do
((`echo $line|grep -c ': begin'`>0))&&echo -e "$line" "//case $i"&&let i++||echo -e "$line"
done<b01.v>>me.log
唯一有一点就是那些备注是被换行了的,怎么直接插到同一行的最后面啊?
不可能换行啊
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
trigger
帖子: 1604
注册时间: 2006-10-25 18:08

Re: 急!在线等shell编程一个小小问题

#24

帖子 trigger » 2010-12-25 15:37

如果你不习惯&&||这种写法,自己改成if从句吧。
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
wangjingchu
帖子: 25
注册时间: 2008-05-17 9:56
联系:

Re: 急!在线等shell编程一个小小问题

#25

帖子 wangjingchu » 2010-12-25 15:51

trigger 写了:如果你不习惯&&||这种写法,自己改成if从句吧。
总之还是谢谢了!! :em11 作业可以完成了,多亏了你啊
回复