私は現在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)