Existe uma maneira de diferenciar uma linha de arquivos diferentes?

0

Atualmente estou fazendo uma consolidação de arquivos i18n. Em alguns casos, tenho chaves duplicadas em vários arquivos e quero descobrir se posso remover uma das duplicatas.

Veja um exemplo:

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

Agora, obviamente, são os mesmos, o que é fácil de ver em inglês, mas as coisas ficam mais difíceis em relação a outros idiomas e quando as linhas ficam mais longas. Meu comando atual para produzir essas linhas é o seguinte:

grep language_key config/locales/en-*.yml

Existe uma maneira de canalizar essas duas linhas em diff para compará-las umas com as outras? Posso garantir apenas dois resultados para cada grep se isso facilitar as coisas.

    
por Gavin Miller 06.02.2017 / 18:29

2 respostas

2

Se forem apenas os dois arquivos:

diff <(grep 'language_key' config/locales/en-primary.yml) <(grep 'language_key' config/locales/en-secondary.yml)
    
por 06.02.2017 / 18:34
0

Variação da resposta do DopeGhoti (nota sobre o suporte para substituição de processo também se aplica aqui), isso aqui é com uma visão lado a lado de linhas diferentes:

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

Tags