フォルダ名siteの下に約50個のHTML / jsファイルがあります。
一部のファイルには以下が含まれます(次の行はファイル内で組み合わされます)
{"rendered":"http:\/\/localhost:4542\/?page_id=854"}
http:\/\/localhost:4542\/wp-content\/uploads\/2022\/09\/
src=\"http:\/\/localhost:4542\/wp-content\/uploads\/2022\/09\/B
http:\/\/localhost:4542\/wp-content\/uploads\/2022\/09\/A
replies":[{"embeddable":true,"href":"http:\/\/localhost:4542\/en\/wp-json
フォルダ内のすべてのファイルを繰り返し変更できるツール/コマンドはありますかhttp:\/\/localhost:4542
?https:example.com
これでmacOSで作業しています。
ベストアンサー1
持ち運べる:
LC_ALL=C find . '(' -name '*.[Jj][Ss]' -o \
-name '*.[Hh][Tt][Mm][Ll]' -o \
-name '*.[Hh][Tt][Mm]' \
')' -exec perl -pi -e '
s{\Qhttp:\/\/localhost:4542\E}{https:example.com}g' {} +
置き換えるファイルがまったくないファイルを再作成することに注意してください。
GNU grep
/xargs
または互換性(ここでは過度の入力を避けるために中括弧拡張をサポートするシェル)の場合は、これを回避できます。
LC_ALL=C grep -r --include='*.'{'[jJ][sS]','[Hh][Tt][Mm]'{,'[Ll]'}} \
-Fl --null 'http:\/\/localhost:4542' . |
xargs -r0 perl -pi -e '
s{\Qhttp:\/\/localhost:4542\E}{https:example.com}g'
大きなダメージなしで削除するオプション(ファイルが見つからない場合はPerl警告のみを表示)に加えて、-r
GNU APIの大部分をコピーするMacosでも動作します。xargs
grep
grep