서로 다른 파일의 한 줄을 구별하는 방법이 있습니까?

서로 다른 파일의 한 줄을 구별하는 방법이 있습니까?

현재 i18n 파일과 일부 통합을 수행하고 있습니다. 어떤 경우에는 여러 파일에 중복 키가 있는데 중복 키 중 하나를 제거할 수 있는지 알고 싶습니다.

예는 다음과 같습니다.

config/locales/en-primary.yml:  language_key: 'lorem ipsum'
config/locales/en-secondary.yml:  language_key: 'lorem ipsum'

분명히 이것들은 동일하며 영어에서는 쉽게 볼 수 있지만 다른 언어에서는 줄이 길어지면 상황이 더 어려워집니다. 이 줄을 생성하는 현재 명령은 다음과 같습니다.

grep language_key config/locales/en-*.yml

diff이 두 행을 파이프로 연결하여 서로 비교할 수 있는 방법이 있습니까 ? 일이 더 쉬워진다면 grep할 때마다 두 가지 결과만 얻을 수 있을 것이라고 장담할 수 있습니다.

답변1

파일이 두 개뿐인 경우:

diff <(grep 'language_key' config/locales/en-primary.yml) <(grep 'language_key' config/locales/en-secondary.yml)

답변2

DopeGhoti의 답변에 대한 변형(프로세스 대체 지원에 대한 설명도 여기에 적용됨)은 다음과 같이 다양한 라인을 나란히 보여줍니다.

diff -y --suppress-common-lines <(grep 'language_key' config/locales/en-primary.yml) <(grep 'language_key' config/locales/en-secondary.yml)

관련 정보