ファイルのコメントを再帰的にインライン置換

ファイルのコメントを再帰的にインライン置換

clocパラメータを含むツールを試してみました--strip-commentsが、すべてのファイルからコメントが再帰的に正しく削除されましたが、2つの問題があります。

  • 「その場で」することはできません。
  • 生成されたファイルは、元の場所に関係なく、コマンドを実行したディレクトリにすべてコピーされます。

私が実行したコマンドは

find . -name '*.php' | xargs cloc --strip-comments=BAK

ファイルを内部で編集したり、パイプを介して元のファイルをmv上書きしたりするにはどうすればよいですか?.BAK

答え1

いくつかの他の質問を見て、私の問題を解決する小さなスクリプトを見つけることができました。

#!/bin/bash

shopt -s globstar
for f in **/*.php; do
  cloc --strip-comments=BAK --original-dir "${f%.*}.php"
  mv "${f%.*}.php.BAK" "${f%.*}.php"
done

間違いなく、これはさらに最適化される可能性があります。

関連情報