如何在windows上用perl显示grep模式
如何在perl中grep模式匹配行 例如sample.csv如何在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
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熟悉的工具呢?