如何在perl
中grep模式匹配的行例如 sample.csv
Name: john
location: paris
在Unix中我可以像这样grep
cat sample.csv | grep Name | cut -f 2 -d " "
但我在Windows中需要它
输出:
john,paris
答案 0 :(得分:0)
您的示例sample.csv
实际上并不是真正的csv文件,这在某种程度上限制了我们的解析选项。
因此,使用直接正则表达式解决方案,这可能对您有所帮助:
perl -nle "/^Name: (.*?) location: (.*?)/ && print qq{$1, $2\n};" sample.csv
答案 1 :(得分:0)
你可以试试这个:
perl -F'\s' -naE '/^Name:/&& say qq($F[1],$F[3])' yourfile
但是它会做出一些可能不正确的假设 - 比如你的名字或位置是否包含空格。您可能需要在Windows上将单引号更改为双引号。
答案 2 :(得分:0)
例如,
我的$ status =“
姓名:John \ n
地点:巴黎\ n \
部门:电话\ n“;
如果我们搜索Name mean,命令应该从变量
返回如下所示姓名:John