需要一个单行的Perl脚本,它将打开一个文件并返回一个字符串。 我使用Perl脚本为我的开发人员编译c#代码。 解决方案文件project.sln文件可能包含:
根据VS版本的不同,我需要加载适当的VS环境并继续编译代码。
答案 0 :(得分:1)
Perl版本的grep
,除了它只需要查找包含Visual Studio 20xx的第一行并返回20xx值?
#!/usr/bin/env perl
while (<>)
{
if (m/Visual Studio (2\d\d\d)\b/)
{
print "$1\n";
exit 0;
}
}
exit 1;
我认为这不符合“一线”标准。如果您放弃退出状态并且多次出现多个版本号,则可以将其压缩为:
perl -n -e 'print $1 if (m/Visual Studio (2\d\d\d)\b/);' project.sln
请注意,我已为您使用的正则表达式设置了Y3K问题 - 您必须决定是否将2替换为另一个“\d
”。
答案 1 :(得分:0)
type project.sln | perl -pe "s/Visual Studio //"
或者您需要的不是版本吗?