2013-08-03 57 views
0

我试图获取所有“RESP:0,成功;”输入命令:RESP:0,成功; - 这里是我的代码,我会拿它吗?获取shell脚本中的行

**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. 

回答

0

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

而且,为了转从整个字符串中取出响应部分,可以使用类似这样的内容:

echo `expr "${CMD}" : '\.*?(RESP)(:)(\\d)\'`