0

我试图获得所有“ RESP:0,成功;” 在行中-输入命令:RESP:0,成功;-这是我的代码。我将如何处理?

**for i in {2..4}
do 
   date  
   CMDCount="CMD"$i
   eval CMD="$"$CMDCount
   echo "server CMD "${CMD}""${CMDCount}"";
   echo "" 
   (sleep 1;echo $login;
    sleep 1;echo ${CMD};
    sleep 1;echo $logout;sleep 1)|telnet localhost 9685
    sleep 1

done**

输出是这样的:

server CMD xxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD2

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
CONNECTING TO xxx...
PROCESS CPL CONNECTED...
Enter command:RESP:0,sucess;
Enter command:
Enter command: 
Enter command:Connection closed by foreign host.
Sat Aug  3 12:18:21 CST 2013
server CMD xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxCMD3

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
CONNECTING TO xxx...
PROCESS CPL CONNECTED...
Enter command:RESP:0,sucess;
Enter command:
Enter command: 
Enter command:Connection closed by foreign host.
Sat Aug  3 12:18:26 CST 2013
server CMD xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx;CMD4

Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
CONNECTING TO xxx...
PROCESS CPL CONNECTED...
Enter command:RESP:0,sucess;
Enter command:
Enter command: 
Enter command:Connection closed by foreign host.
4

1 回答 1

0

您可能会发现这些链接很有用:

而且,要从整个字符串中提取响应部分,您可以使用以下内容:

echo `expr "${CMD}" : '\.*?(RESP)(:)(\\d)\'`
于 2013-08-03T12:43:36.563 回答