모든 하위 디렉터리의 모든 PHP 파일에 "iconv" 적용

모든 하위 디렉터리의 모든 PHP 파일에 "iconv" 적용

여러 하위 디렉터리의 파일을 변경하려고 합니다.

다음은 현재 디렉터리만 처리합니다.

for file in *.php; do 
    iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"
done

모든 하위 디렉터리의 모든 PHP 파일에 이를 어떻게 적용할 수 있나요?

답변1

현재 디렉터리에 많은 하위 디렉터리가 있고 여기에 다음 .php파일이 포함되어 있다고 가정합니다.

for file in */*.php; do 
    iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"
done

깊은 디렉터리 계층 구조가 있고 .php그 안의 모든 파일을 찾고 싶다고 가정해 보겠습니다.

find . -type f -name '*.php' \
    -exec sh -c 'file="$0"; iconv -f cp949 -t utf8 -o "$file.new" "$file" && mv -f "$file.new" "$file"' {} ';'

위의 제안은 테스트되지 않았습니다.

관련 정보