파일의 주석을 재귀적으로 인라인 교체

파일의 주석을 재귀적으로 인라인 교체

cloc매개변수 가 포함된 도구를 사용해 보았 --strip-comments더니 모든 파일에서 주석이 재귀적으로 올바르게 제거되었지만 두 가지 문제가 있습니다.

  • "그 자리에서" 할 수는 없습니다.
  • 생성된 파일은 원래 위치에 관계없이 명령을 실행한 디렉터리에 모두 복사됩니다.

내가 실행한 명령은

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

의심할 여지없이 이것이 더욱 최적화될 수 있습니다.

관련 정보