異なるファイルの1行を区別する方法はありますか?

異なるファイルの1行を区別する方法はありますか?

私は現在i18nファイルといくつかの統合を行っています。場合によっては、複数のファイルに重複キーがあり、重複キーの1つを削除できるかどうかを知りたいです。

例は次のとおりです。

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これら2つの行をパイプで接続して互いに比較する方法はありますか?仕事が簡単になれば、grepするたびに2つの結果しか得られないと言うことができます。

答え1

ファイルが2つだけの場合:

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)

関連情報