Šķîþ ţö ḿàîñ çöñţéñţ

ÇĻÎ ţööļš

kgrep, ksed, kcat àñđ kdiff àŕé ƒöŕḿàţ-àŵàŕé ŕéîḿàĝîñîñĝš öƒ ţĥé çļàššîç Üñîẋ ţéẋţ üţîļîţîéš. grep, sed, cat àñđ diff öþéŕàţé öñ ŕàŵ ƃýţéš: ţĥé ļîñéš öƒ à ƒîļé àš ţĥé öþéŕàţîñĝ šýšţéḿ šţöŕéš ţĥéḿ. Ţĥéšé ƒöüŕ ŕéàđ, ŕéŵŕîţé àñđ çöḿþàŕé ţĥé ţéẋţ çöñţéñţ îñšîđé àñý ƒöŕḿàţ kapi üñđéŕšţàñđš, ŕéĝàŕđļéšš öƒ ĥöŵ ţĥàţ ţéẋţ îš éñçöđéđ öñ đîšķ. Îţ îš ţĥé šàḿé çöñţéñţ éñĝîñé ţĥé ŕéšţ öƒ kapi ŕüñš öñ, éẋþöšéđ àš ţĥé Üñîẋ ṽéŕƃš ýöü àļŕéàđý ķñöŵ.

Ţĥé þŕàçţîçàļ çöñšéǫüéñçé: ýöü çàñ šéàŕçĥ ţĥé þŕöšé îñšîđé à Ŵöŕđ .docx, ŕéŵŕîţé à þĥŕàšé àçŕöšš à đîŕéçţöŕý öƒ ĴŠÖÑ çàţàļöĝš, öŕ þŕîñţ ţĥé šéĝḿéñţš öƒ àñ ẊĻÎƑƑ ƒîļé àš þļàîñ ţéẋţ, üšîñĝ ḿüšçļé ḿéḿöŕý ƒŕöḿ ţööļš ýöü àļŕéàđý ķñöŵ, ŵîţĥöüţ ƒîŕšţ çöñṽéŕţîñĝ àñýţĥîñĝ.

kdiff éẋţéñđš ţĥé šàḿé îđéà ţö diff: îţ çöḿþàŕéš ţĥé ţéẋţ öƒ ţŵö ƒîļéš ƃļöçķ ƃý ƃļöçķ, šö à ŕéƒļöŵéđ .docx öŕ à ŕéöŕđéŕéđ ĴŠÖÑ çàţàļöĝ šĥöŵš öñļý ţĥé þŕöšé ţĥàţ àçţüàļļý çĥàñĝéđ. Ĝîṽéñ à šîñĝļé ƒîļé àñđ à ţàŕĝéţ ļöçàļé, îţ ŕéþöŕţš ŵĥîçĥ ƃļöçķš àŕé šţîļļ üñţŕàñšļàţéđ.

À ƒîƒţĥ üţîļîţý, kconv, ĥàš ñö çļàššîç Üñîẋ àñàļöĝ: îţ çöñṽéŕţš ƃéţŵééñ ƒöŕḿàţš (à .docx ţö çļéàñ Ḿàŕķđöŵñ, à ĐöçĻàñĝ đöçüḿéñţ ţö ĤŢḾĻ, öŕ àñý šüþþöŕţéđ ƒöŕḿàţ ţö ĐöçĻàñĝ), çàŕŕýîñĝ ţĥé đöçüḿéñţ'š šţŕüçţüŕé àçŕöšš ŕàţĥéŕ ţĥàñ îţš ƃýţéš.

Ţĥé ṽîđéö ƃéļöŵ šĥöŵš ţĥé ŵĥöļé ļööþ öñ à šàļéš ţéàḿ'š çöļļàţéŕàļ: à Ḿàŕķđöŵñ þîţçĥ, à Ŵöŕđ þŕöþöšàļ, àñđ àñ Éẋçéļ þŕîçé ļîšţ. kcat þŕîñţš ţĥé ţéẋţ îñšîđé éàçĥ ƒîļé, kgrep ƒîñđš ţĥé þŕöđüçţ ñàḿé àçŕöšš àļļ ţĥŕéé àţ öñçé, àñđ à šîñĝļé ksed ŕéƃŕàñđš îţ éṽéŕýŵĥéŕé, ŕéŵŕîţîñĝ éàçĥ đöçüḿéñţ ƃàçķ îñţö îţš öŵñ ƒöŕḿàţ.

Éàçĥ ŵöŕķš öñ éṽéŕý öñé öƒ ţĥé 40+ ƒîļé ƒöŕḿàţš neokapi ŕéàđš: Öƒƒîçé đöçüḿéñţš, ḿéššàĝé çàţàļöĝš àñđ đàţà ƒöŕḿàţš, ḿàŕķüþ, àñđ ḿöŕé. Šéé ţĥé Ƒöŕḿàţ Ŕéƒéŕéñçé ƒöŕ ţĥé ƒüļļ ļîšţ.

Ŵĥý ƃļöçķš, ñöţ ļîñéš

À .docx ĥàš ñö "ļîñéš" îñ ţĥé ƃýţé šéñšé; à ĴŠÖÑ çàţàļöĝ'š ḿéàñîñĝƒüļ üñîţš àŕé ķéýéđ šţŕîñĝš, ñöţ ƒîļé ŕöŵš. kapi þàŕšéš à đöçüḿéñţ îñţö ƃļöçķš öƒ çöñţéñţ àñđ šţŕîþš ţĥé šüŕŕöüñđîñĝ ḿàŕķüþ àñđ šţŕüçţüŕé. Ţĥé ţööļƃöẋ öþéŕàţéš öñ ţĥöšé ƃļöçķš:

  • kcat þŕîñţš öñé ƃļöçķ þéŕ öüţþüţ ļîñé.
  • kgrep ŕéþöŕţš öñé ḿàţçĥîñĝ ƃļöçķ þéŕ ļîñé, àñđ -n þŕéƒîẋéš ţĥé ƃļöçķ'š öŕđîñàļ þöšîţîöñ. Ƒöŕ ĝéñüîñéļý ļîñé-öŕîéñţéđ ƒöŕḿàţš šüçĥ àš þļàîñ ţéẋţ, öñé ƃļöçķ îš öñé ļîñé, šö -n ŕéàđš éẋàçţļý ļîķé grep -n.
  • ksed ŕéŵŕîţéš à ƃļöçķ'š ţéẋţ àñđ àšķš ţĥé ƒöŕḿàţ ŵŕîţéŕ ţö ŕéçöñšţŕüçţ ţĥé đöçüḿéñţ, šö šţŕüçţüŕé îš þŕéšéŕṽéđ.
  • kdiff àļîĝñš ţĥé ƃļöçķš öƒ ţŵö ƒîļéš (ƃý ķéý ƒöŕ çàţàļöĝš, ƃý çöñţéñţ ƒöŕ þŕöšé) àñđ ŕéþöŕţš àđđéđ, ŕéḿöṽéđ, çĥàñĝéđ àñđ ḿöṽéđ ƃļöçķš ŕàţĥéŕ ţĥàñ çĥàñĝéđ ƃýţéš.
  • kconv ĥàñđš ţĥé ƃļöçķš, àñđ ţĥé ŕöļé éàçĥ öñé çàŕŕîéš (ĥéàđîñĝ, ļîšţ îţéḿ, ţàƃļé çéļļ), ţö à đéŕéñţ ƒöŕḿàţ'š ŵŕîţéŕ, þŕöĵéçţîñĝ ţĥé đöçüḿéñţ'š šţŕüçţüŕé îñţö ţĥé ţàŕĝéţ ƒöŕḿàţ.

Îñšţàļļàţîöñ

Ţĥé Kapi ÇĻÎ ƃüñđļéš ţĥéšé çöḿḿàñđš:

brew install neokapi/tap/kapi-cli # macOS/Linux

Šéé Îñšţàļļàţîöñ ƒöŕ ţĥé ŕéļéàšé çĥàññéļš.

Öñ Ŵîñđöŵš, winget install Neokapi.KapiCli îñšţàļļš kapi 1.0.2, ŵĥîçĥ þŕéđàţéš ţĥé ƃéĥàṽîöüŕ ţĥîš þàĝé đéšçŕîƃéš. Ţàķé à Ŵîñđöŵš ƃüîļđ ƒŕöḿ ţĥé đîŕéçţ đöŵñļöàđš îñšţéàđ.

Éṽéŕý üţîļîţý îš àļšö ŕéàçĥàƃļé àš à kapi šüƃçöḿḿàñđ üñđéŕ ţĥé šàḿé ñàḿé: kapi kgrep, kapi ksed, kapi kcat, kapi kdiff, kapi kconv. Éàçĥ ƃéĥàṽéš îđéñţîçàļļý ţö ţĥé šţàñđàļöñé šĥöŕţ ñàḿé öñ éṽéŕý þļàţƒöŕḿ. (Ţĥé þŕöẋîéš çàŕŕý ţĥé ķ-ñàḿéš šö éṽéŕý ƃàŕé ṽéŕƃ šţàýš ƒŕéé: ƃàŕé kapi diff îš ţĥé çöññéçţéđ-þŕöĵéçţ šýñç đ, ñöţ à ƒîļé đ.)

:::ñöţé Ŵîñđöŵš Ţĥé Ĥöḿéƃŕéŵ îñšţàļļ àđđš ţĥé šĥöŕţ ñàḿéš (kgrep, ksed, kcat, kdiff, kconv) àš àļîàšéš öƒ ţĥé kapi ƃîñàŕý. Ţĥé Ŵîñđöŵš žîþ çàŕŕîéš ţĥé šîñĝļé kapi çöḿḿàñđ, šö öñ Ŵîñđöŵš üšé ţĥé šüƃçöḿḿàñđ ƒöŕḿ (kapi kgrep, kapi ksed, kapi kcat, kapi kdiff, kapi kconv), ŵĥîçĥ îš éẋàçţļý éǫüîṽàļéñţ. :::

Çöñṽéñţîöñš šĥàŕéđ àçŕöšš ţĥé ţööļƃöẋ

  • Šţàñđàŕđ îñþüţ. Ŵîţĥ ñö ƒîļé àŕĝüḿéñţ, öŕ ŵĥéñ ţĥé ƒîļé îš -, îñþüţ îš ŕéàđ ƒŕöḿ šţàñđàŕđ îñþüţ. Ŵîţĥöüţ à ƒîļé éẋţéñšîöñ ţö ĝö ƃý, ţĥé ƒöŕḿàţ îš šñéđ ƒŕöḿ ţĥé çöñţéñţ àñđ ƒàļļš ƃàçķ ţö þļàîñ ţéẋţ.
  • Ƒöŕḿàţ šéļéçţîöñ. -f, --format öṽéŕŕîđéš ƒöŕḿàţ đéţéçţîöñ (ƒöŕ éẋàḿþļé -f json). Ñöţé ţĥîš đéŕš ƒŕöḿ grep/sed, ŵĥéŕé -f ŕéàđš þàţţéŕñš öŕ šçŕîþţš ƒŕöḿ à ƒîļé; îñ ţĥé ţööļƃöẋ -f àļŵàýš ḿéàñš ƒöŕḿàţ, ḿàţçĥîñĝ ţĥé ŕéšţ öƒ ţĥé kapi ÇĻÎ. Üšé -e ƒöŕ éẋþļîçîţ þàţţéŕñš àñđ šçŕîþţš.
  • Šöüŕçé ṽš. ţŕàñšļàţîöñ. Ƒöŕ ḿüļţîļîñĝüàļ ƒöŕḿàţš ţĥé üţîļîţîéš ƃý đéƒàüļţ öþéŕàţé öñ ţĥé šöüŕçé ţéẋţ. --target LOCALE öþéŕàţéš öñ à ţàŕĝéţ ļàñĝüàĝé îñšţéàđ. Ƒöŕ éẋàḿþļé, kgrep --target fr "déconnexion" messages.xliff šéàŕçĥéš ţĥé Ƒŕéñçĥ ţŕàñšļàţîöñš.
  • Ƒîļéš àñđ đîŕéçţöŕîéš. Ĝļöƃ þàţţéŕñš éẋþàñđ îñ-þŕöçéšš, šö à ǫüöţéđ 'src/**/*.md' ƃéĥàṽéš ţĥé šàḿé îñ éṽéŕý šĥéļļ. À đîŕéçţöŕý àŕĝüḿéñţ ñééđš -r, --recursive; ŵîţĥöüţ îţ, îţ îš ŕéþöŕţéđ àñđ šķîþþéđ, àš îñ grep. Ţĥé öñé éẋçéþţîöñ îš ksed, ŵĥîçĥ šþéļļš îţ -R: šéđ'š öŵñ -r ḿéàñš --regexp-extended, šö ţĥé ļéţţéŕ îš ļéƒţ àļöñé.
  • Ƃîñàŕý îñþüţ îš ŕéƒüšéđ. À ƒîļé ţĥàţ ñö ƒöŕḿàţ çļàîḿš àñđ ŵĥöšé ƃýţéš àŕé ƃîñàŕý (à .dmg, àñ îñšţàļļéŕ, àñ îḿàĝé ŵîţĥ ñö ŕéàđéŕ) îš ŕéþöŕţéđ àñđ šķîþþéđ ŕàţĥéŕ ţĥàñ ŕéàđ àš þļàîñ ţéẋţ, šö à ĝļöƃ öṽéŕ à đöŵñļöàđš ƒöļđéŕ çàññöţ šþŕàý ŕàŵ ƃýţéš àţ ţĥé ţéŕḿîñàļ öŕ îñţö à çöñṽéŕţéđ ƒîļé. Öţĥéŕ ƒîļéš îñ ţĥé šàḿé ŕüñ àŕé üñàƒƒéçţéđ, àñđ ţĥé éẋîţ šţàţüš îš 2. -f FORMAT öṽéŕŕîđéš ţĥé ĝüàŕđ ŵĥéñ ýöü ḿéàñ îţ.