只是一个简单的问题。如何(递归地)查找包含<?
(而不是<?php
)的所有文件?
谢谢! 凯文
答案 0 :(得分:3)
使用--perl-regexp
标记,这样您就可以使用功能更强大的perl兼容正则表达式和前瞻阴影:
grep -Prl '<\?(?!php)' .
答案 1 :(得分:0)
你想要的正则表达式是<\?(?!php)
答案 2 :(得分:0)
好
grep -r \<\? SomeDir
将捕获<?
的所有内容(您可以使用fgrep
)
然后,你想要删除所有出现的PHP。你可以使用
grep -r \<\? SomeDir | grep -v php
这应该给你一个足够好的近似值(但是有点不对,因为它会跳过包含<?
和php
的行不在一起。您可以使用grep
或awk
替换第二个cut
以打印文件名。
您也可以使用
grep -rl `<\?[^p][^h]`