批量查找包含<?的文件

php 網站程序很多頁面用到<?短標籤,由於php5.4取消了短標籤,所以必須修改爲<?php

先查找哪些頁面有短標籤標記<?

用命令

find . -name "*.php" | xargs grep -Prl '<\?(?!php)'

find . -name "*.php" -exec grep -Prl '<\?(?!php)' {} \;

或者

 grep -Prl --include=\*.php '<\?(?!php)' .

 

 

使用find命令的-exec選項處理匹配到的文件時,find命令將所有匹配到的文件一起傳遞給exec執行。但有些系統對能夠傳遞給exec的命令長度有限制,這樣在find命令運行幾分鐘之後,就會出現溢出錯誤。錯誤信息通常是“參數列太長”或“參數列溢出”。這就是xargs命令的用處所在,特別是與find命令一起使用。

xargs的作用是將參數列表轉換成小塊分段傳遞給其他命令,以避免參數列表過長的問題。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章