我想打印文件名,如果只有所有匹配......在不同的行上
grep -l -w '10B\|01A\|gencode' */$a*filename.vcf
这会输出文件名,但不仅仅是所有三个匹配都存在。
答案 0 :(得分:0)
您会考虑尝试awk
吗? awk
可以通过以下方法解决,
awk '/10B/&&/01A/&&/gencode/{print FILENAME}' */$a*filename.vcf
答案 1 :(得分:0)
尝试关注,稍微编辑了一下你的解决方案。
grep -l '10B.*01A.*gencode' Input_file
答案 2 :(得分:0)
使用grep -lwP '(?=.*?10B)(?=.*?01A)(?=.*?gencode)' /path/to/infile
及其 //Insert new Employee
public IHttpActionResult CreateNewEmployee(EmployeeModels emp)
{
using (var ctx = new Employee())
{
ctx.tempemp.Add(new tempemp()
{
Id = emp.Id,
name = emp.name,
mobile = emp.mobile,
erole = emp.erole,
dept = emp.dept,
email = emp.email
});
ctx.SaveChanges();
}
return Ok();
}
(Perl-Compatibility)选项和positive lookahead regex (?=(regex))
,可以按任意顺序匹配模式。
ok()
答案 3 :(得分:0)
grep -l 'pattern1' files ... | xargs grep -l 'pattern2' | xargs grep -l 'pattern3'
从grep手册:
-l, - with-matches-matches
抑制正常输出;而是打印通常打印输出的每个输入文件的名称。扫描将在第一场比赛中停止。 (-l由POSIX指定。)