如何在windows上用perl显示grep模式

如何在windows上用perl显示grep模式,perl,grep,Perl,Grep,如何在perl中grep模式匹配行 例如sample.csv Name: john location: paris 在Unix中,我可以这样grep cat sample.csv | grep Name | cut -f 2 -d " " 但我需要在Windows中使用它 输出: john,paris 您的示例sample.csv实际上似乎不是真正的csv文件,这在一定程度上限制了我们的解析选项 因此,使用直截了当的正则表达式解决方案,这可能会对您有所帮助: perl -nle "/^Na

如何在perl中grep模式匹配行

例如sample.csv

Name: john
location: paris
在Unix中,我可以这样grep

cat sample.csv | grep Name | cut -f 2 -d " "
但我需要在Windows中使用它

输出:

john,paris

您的示例
sample.csv
实际上似乎不是真正的csv文件,这在一定程度上限制了我们的解析选项

因此,使用直截了当的正则表达式解决方案,这可能会对您有所帮助:

perl -nle "/^Name: (.*?) location: (.*?)/ && print qq{$1, $2\n};" sample.csv
你可以试试这个:

perl -F'\s' -naE '/^Name:/&& say qq($F[1],$F[3])'  yourfile
但它做出了一些可能不正确的假设——比如你的名字或位置包含空格。您可能需要在Windows上将单引号更改为双引号。

例如, 我的$status=“
姓名:John\n
地点:巴黎\n
部门:电话号码\n“

如果我们搜索Name mean,命令应该从变量返回如下所示


姓名:约翰

那不应该是
…|剪切-f 2,4-d“”
以获得输出?这与Perl有什么关系?@Mark Setchell-Perl可以很容易地在非Unix平台上模拟常见的Unix任务。@mob:谢谢,我知道这一点。但我的观点是,Perl并不是在Windows上自然出现的,所以可能必须安装它,那么为什么不安装grep并使用OP熟悉的工具呢?