【问题标题】:getting the line in shell script获取 shell 脚本中的行
【发布时间】:2013-08-04 15:58:12
【问题描述】:

我正在尝试获取所有“ 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.

【问题讨论】:

    标签: linux shell telnet


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2016-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 2020-12-14
      • 2011-06-05
      • 2014-10-18
      • 2019-01-27
      • 1970-01-01
      相关资源
      最近更新 更多