简体   繁体   English

如何使用Perl在文件中找到模式$ iperf

[英]How to find the pattern $iperf in the file using perl

How can I find and display the word $iperf in a file 如何在文件中查找并显示单词$ iperf

The file will look like this 该文件将如下所示

$iperf -c 172.29.38.67 -m -M 64 -i 5 -t 20 -P 10
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
------------------------------------------------------------

~ $ iperf -c 172.29.38.67 -m -M 128 -i 5 -t 20 -P 10
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
------------------------------------------------------------
Client connecting to 172.29.38.67, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------

It sounds like you need a regex. 听起来您需要一个正则表达式。 The string '$iperf' does not exist in your data, so I am going to assume you mean 'iperf' . 字符串'$iperf'在您的数据中不存在,因此我假设您的意思是'iperf' You can find the lines that contain that string by looping over the file one line at a time and testing each line with a regex. 通过一次在文件上循环一行并使用正则表达式测试每一行,可以找到包含该字符串的行。 If the regex succeeds, then you can print the line. 如果正则表达式成功,则可以打印该行。

#!/usr/bin/perl

use strict;
use warnings;

while (<DATA>) {
    print if /\biperf\b/;
}

__DATA__
$iperf -c 172.29.38.67 -m -M 64 -i 5 -t 20 -P 10
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
WARNING: attempt to set TCP maximum segment size to 64, but got 536
------------------------------------------------------------

~ $ iperf -c 172.29.38.67 -m -M 128 -i 5 -t 20 -P 10
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
WARNING: attempt to set TCP maximum segment size to 128, but got 536
------------------------------------------------------------
Client connecting to 172.29.38.67, TCP port 5001
TCP window size: 16.0 KByte (default)
------------------------------------------------------------

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM