#はじめに
運用中の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
は、検索に基本正規表現を使うオプションです。