두 개의 .env 파일 비교

두 개의 .env 파일 비교

x.env와 y.env라는 두 개의 env 파일이 있습니다. 변수의 순서는 다르지만 내용은 동일하지만 다를 수 있습니다.

변수를 구별하는 데 사용할 수 있는 도구가 있나요?

   env -i (
    # clear all envs
     source x.env;
     env | sort >  x.sh
    )

   env -i (
    # clear all envs
     source y.env;
     env | sort >  y.sh
    )

    diff x.sh y.sh

이것이 최선의 방법입니까? 여러 변수가 누락된 경우 비교가 복잡해지며 그다지 유용하지 않을 수 있습니다. 반면 변수 이름을 하나씩 비교하는 것이 더 나을 수 있습니다.

답변1

bash인라인 명령 리디렉션을 허용하는 다른 셸이나 실행 중인 경우 ,

comm -3 <(sort x.env) <(sort y.env)

또는 질문에 표시된 변수를 얻으려면 다음을 시도할 수 있지만 LC_*정렬 순서에 영향을 줄 수 있는 로케일 변수의 차이에 유의하세요. 따라서 comm입력이 정렬되지 않았다는 불만이 발생할 수 있습니다.

comm -3 <(. x.env; env | sort) <(. y.env; env | sort)

관련 정보