所以,我有一个keys.txt
列出每个键(每行一个)的文件,例如
VIEW_ACCOUNT_NAME_LABEL
VIEW_ACCOUNT_NAME_DESCR
VIEW_ACCOUNT_STREET_LABEL
VIEW_ACCOUNT_CITY_SUBURB_LABEL
VIEW_ACCOUNT_ZIP_POSTCODE_LABEL
VIEW_ACCOUNT_COUNTRY_LABEL
还有各种匹配的语言文件,它们为键提供值,就像这样en-GB.view.acccount.ini
,每行有一个条目,像这样:
VIEW_ACCOUNT_NAME_LABEL="Name:"
VIEW_ACCOUNT_NAME_DESCR="Name of the account holder."
VIEW_ACCOUNT_STREET_LABEL="Street:"
VIEW_ACCOUNT_CITY_SUBURB_LABEL="City/Suburb:"
VIEW_ACCOUNT_ZIP="Zip Code"
VIEW_ACCOUNT_COUNTRY_LABEL="Country"
nb 有许多密钥和语言文件,实际文件有更多条目——通常每种语言超过 1000 个。
我需要能够找到
- 语言文件中缺少哪些键(例如
VIEW_ACCOUNT_ZIP_POSTCODE_LABEL
) - 哪些键在语言文件中但不在密钥文件中(通常是过时的键,例如
VIEW_ACCOUNT_ZIP
)
对于第一个要求,我尝试使用grep
invert -v
-match 选项,但结果不是我所期望的:
cppl ~ grep -v --file=keys.txt en-GB.view.acccount.ini
VIEW_ACCOUNT_NAME_LABEL="Name:"
VIEW_ACCOUNT_NAME_DESCR="Name of the account holder."
VIEW_ACCOUNT_STREET_LABEL="Street:"
VIEW_ACCOUNT_CITY_SUBURB_LABEL="City/Suburb:"
VIEW_ACCOUNT_ZIP="Zip Code"
cppl ~