指定されたファイルセットの特定のパターンに一致する行の内部置換

指定されたファイルセットの特定のパターンに一致する行の内部置換

前の質問に続き、次のようになります。

CSSおよびJavascriptコンテンツ内のファイル名からスラッシュ/親パスを削除します。

このファイルのすべてのファイル名をデフォルト名に置き換える次のコマンドを取得します。

grep -o -h -E '[A-Za-z0-9:./_-]+\.(png|jpg|gif|tif|css)' |\
  sed "s:[a-zA-z0-9]*/::" `find . -name '*.css' -or -name '*.js'` 

処理された各ファイルについて、このコマンドの出力をソースファイルに再度保存するにはどうすればよいですか?

ベストアンサー1

古い質問に対する回答が遅かったのですが、これがOPが探している回答だと思います。

SEDCMD="/[A-Za-z0-9:./_-]+\.(png|jpg|gif|tif|css)/ s:[a-zA-z0-9]*/::"
find . -name '*.css' -or -name '*.js' -exec sed -i "$SEDCMD" '{}' ';'

おすすめ記事