jqueryが使用されているルートディレクトリ以下、全てのファイルを表示するコマンド


はじめに

運用中のWEBサイトにおいて、JQueryのバージョンをアップデートするため、影響範囲を調べるタスクがあり、jQueryのコードが書かれているファイルを全て把握しなければならなかったため、ここにメモ書きしておきます。

linuxコマンド

ルートディレクトリに移動し以下のコマンド実施

$ grep  -rlF --include='*.html' --include='*.php' --include='*.htm' --include='*.js' "jQuery(" ./* | sort
$ grep  -rlF --include='*.html' --include='*.php' --include='*.htm' --include='*.js' "\$(" ./* | sort

jQueryのコードは、$(jQuery(、2パターンありますので、2つ検索することでjQueryが使用されたファイルが全てわかります。

-rは、ディレクトリ内も検索対象するオプションです。
-lは、ファイル名のみ表示するオプションです。
-Fは、正規表現文字をエスケープせずに検索できる。しかし$は例外なので、\$としています。

--include='*.html'は、検索する拡張子を限定しています。
jQueryが使われる可能性のある拡張子は、html,htm,php,jsになります。

'sort'で並び替えています。

疑問

この2つのコマンドを一つにできれば、ファイルの重複が避けられてのですが、分かりませんでした。

2021年10月10日追記

以下のコマンドによって、正規表現で2つのパターンを検索し、ファイルの重複を避けることができました。

grep  -rlG --include='*.html' --include='*.php' --include='*.htm' --include='*.js' "\(jQuery\|\\$\)(" ./* | sort

-Gは、検索に基本正規表現を使うオプションです。

参考文献

grepでこういう時はどうする
【 grep 】コマンド――特定の文字を含む行を抽出する