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

Š-04: Ţööļƃöẋ üţîļîţîéš

Šüḿḿàŕý

kcat, kgrep, ksed, àñđ kdiff àŕé ƒöŕḿàţ-àŵàŕé ŕéîḿàĝîñîñĝš öƒ cat, grep, sed, àñđ diff ţĥàţ öþéŕàţé öñ ţĥé ţéẋţ îñšîđé àñý ƒöŕḿàţ kapi üñđéŕšţàñđš (à Ŵöŕđ đöçüḿéñţ, à ĴŠÖÑ çàţàļöĝ, ẊĻÎƑƑ, Ḿàŕķđöŵñ) ŕàţĥéŕ ţĥàñ öñ ŕàŵ ƃýţéš. kconv ĥàš ñö çļàššîç àñàļöĝüé: îţ çöñṽéŕţš à đöçüḿéñţ îñţö àñöţĥéŕ ƒöŕḿàţ ƃý ĥàñđîñĝ ţĥé ƃļöçķš, àñđ ţĥé ŕöļé éàçĥ çàŕŕîéš, ţö à đéŕéñţ ƒöŕḿàţ'š ŵŕîţéŕ. Àļļ ƒîṽé àŕé ţĥé šàḿé kapi ƃîñàŕý üñđéŕ đéŕéñţ ñàḿéš, đîšþàţçĥéđ öñ argv[0] ƃüšýƃöẋ-šţýļé. Éàçĥ öþéŕàţéš öṽéŕ öñé šĥàŕéđ ƃļöçķ-ţéẋţ þŕöĵéçţîöñ àñđ ƒöļļöŵš ţĥé ĝŕéþ-šţýļé éẋîţ-çöđé çöñṽéñţîöñ.

Çöñţéẋţ

Ţĥé ŕéçüŕŕîñĝ ñééđ îš ţö ŕéàđ, šéàŕçĥ, àñđ éđîţ ţĥé ĥüḿàñ-ŕéàđàƃļé çöñţéñţ öƒ ƒîļéš ţĥàţ ñéîţĥéŕ àñ éđîţöŕ ñöŕ à çļàššîç Üñîẋ ţööļ çàñ ḿéàñîñĝƒüļļý ţöüçĥ. À Ŵöŕđ đöçüḿéñţ îš à žîþþéđ ẊḾĻ çöñţàîñéŕ. Àñ ẊĻÎƑƑ ƒîļé îñţéŕļéàṽéš šöüŕçé àñđ ţàŕĝéţ îñšîđé ḿàŕķüþ. À ĴŠÖÑ çàţàļöĝ ƃüŕîéš šţŕîñĝš àḿöñĝ ķéýš àñđ šţŕüçţüŕé. Ŕüññîñĝ grep öñ ţĥöšé ƃýţé šţŕéàḿš ḿàţçĥéš ḿàŕķüþ àñđ ḿîššéš çöñţéñţ šþļîţ àçŕöšš ŕüñš; ŕüññîñĝ sed öñ ţĥéḿ çöŕŕüþţš šţŕüçţüŕé.

kapi àļŕéàđý ĥàš ţĥé ḿàçĥîñéŕý ţö đö ţĥîš çöŕŕéçţļý: ƒöŕḿàţ đéţéçţîöñ, ŕéàđéŕš ţĥàţ ýîéļđ ƃļöçķš, ŵŕîţéŕš ţĥàţ ŕéçöñšţŕüçţ šţŕüçţüŕé ƒàîţĥƒüļļý ţĥŕöüĝĥ ţĥé šķéļéţöñ šţöŕé (É-02). Ţĥé ţööļƃöẋ éẋþöšéš ţĥàţ ḿàçĥîñéŕý ƃéĥîñđ àñ îñţéŕƒàçé éñĝîñééŕš àļŕéàđý ĥàṽé îñ ḿüšçļé ḿéḿöŕý.

Ţŵö ĝöàļš šĥàþéđ îţ. Žéŕö ḿàŕĝîñàļ ƒööţþŕîñţ: ţĥéšé ḿüšţ ñöţ ƃé ḿöŕé ƃîñàŕîéš ţö ƃüîļđ, šîĝñ, àñđ đîšţŕîƃüţé. Ƒîđéļîţý ţö ţĥé çļàššîçš: ţĥé öþţîöñ šüŕƒàçé àñđ ţĥé éẋîţ-çöđé ƃéĥàṽîöüŕ šĥöüļđ ƃé ŵĥàţ à grep öŕ sed üšéŕ éẋþéçţš, îñçļüđîñĝ ţĥé šĥöŕţĥàñđ ļéţţéŕš ţĥàţ à ÇĻÎ'š ĝļöƃàļ ƒļàĝš ŵöüļđ öţĥéŕŵîšé šĥàđöŵ.

Đéçîšîöñ

Ḿüļţî-çàļļ đîšþàţçĥ

Ţĥé çöḿḿàñđš ļîṽé îñ ţĥé šĥàŕéđ ÇĻÎ ƃàšé (cli/toolbox*.go) àñđ àŕé ƃüîļţ îñţö kapi. Ţĥéý àŕé ŕéàçĥàƃļé ţŵö ŵàýš.

Àš ḿüļţî-çàļļ ñàḿéš. Ţĥé ƃüîļđ àñđ ţĥé Ĥöḿéƃŕéŵ ƒöŕḿüļà çŕéàţé kgrep, ksed, kcat, kconv, àñđ kdiff àš šýḿļîñķš ţö kapi. Àţ šţàŕţüþ cli.BusyboxRoot(app, os.Args[0]) ñöŕḿàļîšéš ţĥé þŕöĝŕàḿ ñàḿé, šţŕîþþîñĝ àñý .exe, àñđ öñ à ḿàţçĥ ŕéţüŕñš à šţàñđàļöñé ŕööţ ƒöŕ ţĥàţ üţîļîţý îñšţéàđ öƒ ţĥé ƒüļļ kapi çöḿḿàñđ ţŕéé. Ţĥé šţàñđàļöñé ŕööţ öŵñš ţĥé àþþļîçàţîöñ ļîƒéçýçļé (çöñƒîĝ ļöàđ, îñîţ, šĥüţđöŵñ) šö ţĥé üţîļîţý ƃéĥàṽéš îđéñţîçàļļý ĥöŵéṽéŕ îţ ŵàš ļàüñçĥéđ.

Àš ĥîđđéñ kapi šüƃçöḿḿàñđš. kapi kgrep, kapi ksed, kapi kcat, kapi kconv, àñđ kapi kdiff àŕé ţĥîñ þŕöẋîéš ŵîţĥ DisableFlagParsing šéţ, šö kapi'š þéŕšîšţéñţ ƒļàĝš àŕé ñöţ ḿéŕĝéđ îñţö ţĥéḿ. Éàçĥ þŕöẋý ĥàñđš îţš ŕàŵ àŕĝüḿéñţ ļîšţ ţö ţĥé ṽéŕý šàḿé šţàñđàļöñé çöḿḿàñđ ţĥé šýḿļîñķ ŕüñš. Ţĥéý çàŕŕý ţĥé ķ-ñàḿéš ṽéŕƃàţîḿ, öñé šþéļļîñĝ éṽéŕýŵĥéŕé, ŵĥîçĥ àļšö ķééþš éṽéŕý ƃàŕé ṽéŕƃ ƒŕéé ƒöŕ šöḿéţĥîñĝ éļšé.

DisableFlagParsing îš ŵĥàţ ļéţš ţĥé üţîļîţîéš ķééþ ţĥé çļàššîç öþţîöñ šüŕƒàçé. Ŵîţĥöüţ îţ, kapi'š ĝļöƃàļ -v / -c / -q ŵöüļđ šĥàđöŵ ţĥé ţööļƃöẋ šĥöŕţĥàñđš. Îñ šţàñđàļöñé ƒöŕḿ ţĥé ƃüšýƃöẋ ŕööţ ñéṽéŕ îñĥéŕîţš ţĥöšé ƒļàĝš àţ àļļ, šö ţĥé šàḿé ļéţţéŕš àŕé ƒŕéé ţö đéƒîñé. Ţĥé þŕöẋîéš àŕé ĥîđđéñ ƒŕöḿ kapi --help, ŵĥîçĥ šţééŕš üšéŕš ţö ţĥé đéđîçàţéđ ñàḿéš.

Öñé ƃļöçķ-ţéẋţ þŕöĵéçţîöñ

Éṽéŕý üţîļîţý ŵöŕķš öṽéŕ ţĥé šàḿé þŕöĵéçţîöñ: šţŕéàḿ ţĥé đöçüḿéñţ ţĥŕöüĝĥ îţš ƒöŕḿàţ ŕéàđéŕ, ţàķé éàçĥ ƃļöçķ þàŕţ îñ đöçüḿéñţ öŕđéŕ, àçţ öñ îţš ţéẋţ. Ţĥîš îš ţĥé šîñĝļé þļàçé ţĥé ţööļƃöẋ đéçîđéš ŵĥàţ "ţĥé ţéẋţ" öƒ à ƒîļé îš.

Inputfile or stdinResolve format-f, else detectionbinary guard on the fallbackReaderDataFormatReaderBlock textin document ordermarkup never reaches itUtilityprint · match · edit · convert · compare

Ţĥé þŕöĵéçţîöñ îš đéƒîñéđ öñçé àñđ šĥàŕéđ, šö ŵĥàţ çöüñţš àš ţĥé ţéẋţ öƒ à ƒîļé îš ţĥé šàḿé ƒöŕ éṽéŕý üţîļîţý àñđ ḿàţçĥéš ţĥé ŕéšţ öƒ ţĥé þîþéļîñé.

Ƒöŕḿàţ ŕéšöļüţîöñ. Àñ éẋþļîçîţ --format / -f ŵîñš; öţĥéŕŵîšé ţĥé ƒŕàḿéŵöŕķ'š çàñöñîçàļ đéţéçţîöñ çàšçàđé ŕüñš (éẋţéñšîöñ, ţĥéñ çöñţàîñéŕ-àŵàŕé çöñţéñţ šñîñĝ), ƒàļļîñĝ ƃàçķ ţö þļàîñţéẋţ. Šţàñđàŕđ îñþüţ çàŕŕîéš ñö üšàƃļé þàţĥ, šö îţš đéţéçţîöñ îš þüŕéļý çöñţéñţ-ƃàšéđ ţĥŕöüĝĥ ţĥé šàḿé đéţéçţöŕ: à þîþéđ Ŵöŕđ đöçüḿéñţ öŕ ĴŠÖÑ çàţàļöĝ îš šţîļļ ŕéçöĝñîšéđ.

Ţĥé ƃîñàŕý ĝüàŕđ. Ţĥé þļàîñţéẋţ ƒàļļƃàçķ îš ŵĥàţ ḿàķéš éẋţéñšîöñļéšš þŕöšé ŵöŕķ, àñđ îţ îš àļšö ŵĥàţ ŵöüļđ ḿàķé kcat ~/Downloads/* þŕîñţ à đîšķ îḿàĝé. Šö ţĥé ƒàļļƃàçķ îš ĝàţéđ: îñþüţ ţĥàţ ñö ƒöŕḿàţ çļàîḿéđ àñđ ŵĥöšé ƃýţéš àŕé ƃîñàŕý ƒàîļš ŵîţĥ à đéđîçàţéđ éŕŕöŕ, ŵĥîçĥ éàçĥ üţîļîţý ŕéþöŕţš þéŕ ƒîļé àñđ ţĥéñ çàŕŕîéš öñ ƒŕöḿ. Ţĥé ŕüļé îš ĝîţ'š (à ÑÜĻ ƃýţé îñ ţĥé ƒîŕšţ 8000 ƃýţéš), éẋéḿþţîñĝ ţĥé Üñîçöđé ƃýţé-öŕđéŕ ḿàŕķš, šîñçé ÜŢƑ-16 àñđ ÜŢƑ-32 ţéẋţ îš ƒüļļ öƒ ÑÜĻ ƃýţéš àñđ àññöüñçéš îţšéļƒ. Ţĥé ĝüàŕđ šîţš îñ ţĥé öñé ƒöŕḿàţ-ŕéšöļüţîöñ ĥéļþéŕ, šö éṽéŕý üţîļîţý îñĥéŕîţš îţ. Îţ çàññöţ ƒîŕé ƒöŕ à ƒöŕḿàţ kapi üñđéŕšţàñđš, ƃéçàüšé đéţéçţîöñ àļŕéàđý çļàîḿéđ ţĥöšé, àñđ -f îš ţĥé éšçàþé ĥàţçĥ ƃéçàüšé îţ šĥöŕţ-çîŕçüîţš đéţéçţîöñ éñţîŕéļý.

Ŕéàđ þàţĥ (kcat, kgrep). Ţĥé šţŕéàḿ ĥéļþéŕ öþéñš ţĥé îñþüţ, đéţéçţš ţĥé ƒöŕḿàţ, àñđ çàļļš ƃàçķ ƒöŕ éàçĥ ƃļöçķ îñ öŕđéŕ. kcat þŕîñţš éàçĥ ƃļöçķ'š šöüŕçé ţéẋţ, öŕ à --target LOCALE ţŕàñšļàţîöñ, öñé ƃļöçķ þéŕ ļîñé; kgrep ḿàţçĥéš éàçĥ ƃļöçķ'š ţéẋţ àĝàîñšţ ţĥé þàţţéŕñ. Ḿàŕķüþ àñđ ñöñ-ţŕàñšļàţàƃļé šţŕüçţüŕé ñéṽéŕ ŕéàçĥ ţĥé þŕöĵéçţîöñ.

Éđîţ þàţĥ (ksed). Ţĥé đöçüḿéñţ îš ŕéàđ, ţĥé šüƃšţîţüţîöñ ţööļ îš àþþļîéđ ţö éṽéŕý þàŕţ, àñđ ţĥé ŕéçöñšţŕüçţéđ đöçüḿéñţ îš ŵŕîţţéñ ƃàçķ îñ ţĥé šàḿé ƒöŕḿàţ. Ţĥé šķéļéţöñ šţöŕé îš ŵîŕéđ ƃéţŵééñ ŕéàđéŕ àñđ ŵŕîţéŕ ŵĥéñ ƃöţĥ šüþþöŕţ îţ, šö à ƒàîţĥƒüļ ƒöŕḿàţ ŕöüñđ-ţŕîþš îţš šţŕüçţüŕé ŵĥîļé öñļý ţĥé éđîţéđ ţéẋţ çĥàñĝéš. Éđîţš ţàŕĝéţ ţĥé šöüŕçé üñļéšš --target LOCALE šéļéçţš à ţŕàñšļàţîöñ. Îñ-þļàçé éđîţîñĝ ŕéǫüîŕéš à ƒîļé àŕĝüḿéñţ àñđ ŕéƒüšéš šţđîñ. À ŕéàđ-öñļý ƒöŕḿàţ, öñé ŵîţĥ ñö ŵŕîţéŕ, ŕéţüŕñš àñ àçţîöñàƃļé éŕŕöŕ þöîñţîñĝ àţ kcat.

Çöñṽéŕţ þàţĥ (kconv). Ţĥé îñþüţ îš ŕéàđ àñđ ŵŕîţţéñ ţĥŕöüĝĥ à đéŕéñţ ƒöŕḿàţ'š ŵŕîţéŕ, çĥöšéñ ƒŕöḿ --to (à ƒöŕḿàţ îđ öŕ àñ éẋţéñšîöñ) öŕ îñƒéŕŕéđ ƒŕöḿ ţĥé -o éẋţéñšîöñ. Ţĥé šķéļéţöñ šţöŕé àñđ ţĥé šöüŕçé ƃýţéš àŕé ŵîŕéđ ţö ţĥé ŵŕîţéŕ öñļý ŵĥéñ ţĥé ŕéàđéŕ àñđ ŵŕîţéŕ àŕé ţĥé šàḿé ƒöŕḿàţ: à šàḿé-ƒöŕḿàţ çöñṽéŕšîöñ ŕöüñđ-ţŕîþš ƒàîţĥƒüļļý ţĥŕöüĝĥ ţĥé šķéļéţöñ, ŵĥîļé à çŕöšš-ƒöŕḿàţ öñé ŕéçöñšţŕüçţš ƒŕöḿ ţĥé çöñţéñţ ḿöđéļ àñđ ţĥé ƃļöçķ ŕöļéš, šö ţĥé šöüŕçé'š ƒöŕéîĝñ ƃýţé šķéļéţöñ îš ñéṽéŕ éḿîţţéđ. Ţĥîš îš ţĥé šàḿé ƒöŕḿàţ-ḿàţçĥ ĝüàŕđ ţĥé ƒîļé ŕüññéŕ àþþļîéš.

Çöḿþàŕé þàţĥ (kdiff). Ţŵö îñþüţš àŕé þŕöĵéçţéđ ţö ƃļöçķ ţéẋţ àñđ ţĥé ƃļöçķš àŕé àļîĝñéđ, ñöţ ţĥé ļîñéš, šö šţŕüçţüŕàļ ñöîšé (à ŕé-žîþþéđ đöçüḿéñţ, à ŕéƒļöŵéđ çöñţàîñéŕ, à ŕéöŕđéŕéđ çàţàļöĝ) ñéṽéŕ ŕéĝîšţéŕš àš à đ. Àļîĝñḿéñţ îš çĥöšéñ þéŕ þàîŕ. Ķéýéđ šîđéš, ŵĥöšé ƃļöçķš çàŕŕý šţàƃļé šéḿàñţîç ķéýš šüçĥ àš à ĴŠÖÑ ķéý þàţĥ öŕ àñ ẊĻÎƑƑ üñîţ îđ, àļîĝñ ƃý ķéý, šö àđđéđ, ŕéḿöṽéđ, çĥàñĝéđ, àñđ ŕéöŕđéŕéđ ķéýš ƒàļļ öüţ đîŕéçţļý (à ŕéöŕđéŕ îš ŕéþöŕţéđ àš ḿöṽéđ, ṽîà à ļöñĝéšţ-çöḿḿöñ-šüƃšéǫüéñçé þàšš öṽéŕ ţĥé šĥàŕéđ ķéýš' öŕđéŕ). Þöšîţîöñàļ šîđéš, ŵĥöšé îđš ḿéŕéļý éñçöđé đöçüḿéñţ öŕđéŕ, àļîĝñ ƃý àñ ĻÇŠ öṽéŕ ţĥé ƃļöçķ ţéẋţ, šö àñ îñšéŕţéđ þàŕàĝŕàþĥ îš öñé àđđéđ ƃļöçķ ŕàţĥéŕ ţĥàñ à çàšçàđé öƒ çĥàñĝéš. --by id|content öṽéŕŕîđéš ţĥé ĥéüŕîšţîç; ţĥé ĻÇŠ ţàƃļé îš çàþþéđ, ŵîţĥ à þöšîţîöñàļ ƒàļļƃàçķ ţĥàţ îš ļöĝĝéđ ŕàţĥéŕ ţĥàñ šîļéñţ. À šîñĝļé îñþüţ þļüš --target LOCALE šŵîţçĥéš ţö çöṽéŕàĝé ḿöđé, šöüŕçé àĝàîñšţ ţŕàñšļàţîöñ ŵîţĥîñ öñé ƒîļé, ŕéþöŕţîñĝ üñţŕàñšļàţéđ àñđ šöüŕçé-îđéñţîçàļ ƃļöçķš. kdiff ŕéàđš öñļý; îţ ñéṽéŕ ŵŕîţéš à đöçüḿéñţ ƃàçķ.

Ƃéçàüšé ţĥé þŕöĵéçţîöñ îš ţĥé ţŕàñšļàţàƃļé ƃļöçķš, ţĥé üţîļîţîéš îñĥéŕîţ ţĥé çöñţéñţ ḿöđéļ'š ñöţîöñ öƒ ŵĥàţ îš ţŕàñšļàţàƃļé (Ƒ-02) ŕàţĥéŕ ţĥàñ ŕé-đéŕîṽîñĝ öñé.

Ŵĥîçĥ ṽàļîđ çöñṽéŕšîöñ ţàŕĝéţš éẋîšţ

À çŕöšš-ƒöŕḿàţ çöñṽéŕšîöñ ŕéçöñšţŕüçţš ţĥé ţàŕĝéţ ƒŕöḿ ţĥé çöñţéñţ ḿöđéļ, ñéṽéŕ ƒŕöḿ à ƒöŕéîĝñ šķéļéţöñ. Šö ţĥé ṽàļîđ --to ţàŕĝéţš àŕé éẋàçţļý ţĥé ĝéñéŕàţîṽé, ñöñ-îñţéŕçĥàñĝé ŵŕîţéŕš, ţĥé đéçļàŕéđ ŵŕîţéŕ çàþàƃîļîţîéš îñ É-02. Šķéļéţöñ-ƃöüñđ ƒöŕḿàţš (Ŵöŕđ, ÞöŵéŕÞöîñţ, ÖĐƑ, ÎĐḾĻ, ÉÞÜƂ) çàñ ƃé çöñṽéŕţéđ ƒŕöḿ ƃüţ ñöţ ţö. Ƃîļîñĝüàļ îñţéŕçĥàñĝé ƒöŕḿàţš àŕé ŕéàçĥéđ ţĥŕöüĝĥ kapi extract àñđ kapi merge (Ḿ-01), ñöţ ţĥŕöüĝĥ çöñṽéŕšîöñ. kapi formats ŕéþöŕţš ƃöţĥ çàþàƃîļîţîéš þéŕ ƒöŕḿàţ, ŕéšöļṽéđ đéçļàŕàţîṽéļý ŵîţĥöüţ ļöàđîñĝ à þļüĝîñ.

Ƒļàĝ šüŕƒàçé

Éàçĥ üţîļîţý çàŕŕîéš îţš çļàššîç öþţîöñ šüŕƒàçé þļüš à ƒéŵ kapi-àŵàŕé àđđîţîöñš. Çöḿḿöñ ţö àļļ: --target LOCALE (öþéŕàţé öñ à ţŕàñšļàţîöñ îñšţéàđ öƒ ţĥé šöüŕçé) àñđ --format / -f.

  • kgrep: -i, -v, -c, -n, -o, -l / -L, -w, -F, -r, -H / --no-filename, ŕéþéàţàƃļé -e, -q, þļüš --color àñđ --json.
  • ksed: ŕéþéàţàƃļé -e (s/regexp/replacement/flags), -i ŵîţĥ àñ öþţîöñàļ àţţàçĥéđ ƃàçķüþ šüƒƒîẋ, àñđ -R ţö ŕéçüŕšé. Ţĥé šçŕîþţ šüþþöŕţš ƃàçķŕéƒéŕéñçéš, ţĥé g àñđ i ƒļàĝš, àñđ àñý šîñĝļé-ƃýţé đéļîḿîţéŕ. šéđ'š àţţàçĥéđ-šüƒƒîẋ ƒöŕḿ (-i.bak) îš ñöŕḿàļîšéđ ƃéƒöŕé đîšþàţçĥ.
  • kcat: -n, --id (þŕéƒîẋ éàçĥ ƃļöçķ ŵîţĥ îţš šöüŕçé îđ), -r, àñđ --json.
  • kdiff: --by auto|id|content, -q / --brief, --stat, --color, àñđ --json. Îţ ţàķéš öñé öŕ ţŵö FILE àŕĝüḿéñţš ŕàţĥéŕ ţĥàñ à ĝļöƃ, àñđ ñéṽéŕ éđîţš îñ þļàçé.
  • kconv: -t / --to FORMAT, -o / --output PATH, -r, àñđ --timing.

Ŕéçüŕšîöñ îš -R öñ ksed àñđ -r éṽéŕýŵĥéŕé éļšé. Ţĥàţ îš ƒîđéļîţý ţö ţĥé çļàššîçš ŵîññîñĝ öṽéŕ îñţéŕñàļ üñîƒöŕḿîţý: šéđ'š -r îš --regexp-extended, àñđ ţàķîñĝ ţĥàţ ļéţţéŕ ŵöüļđ šîļéñţļý ŕéŵŕîţé à ŵĥöļé ţŕéé ƒöŕ šöḿéöñé ŵĥö àšķéđ ƒöŕ à ŕéĝéẋþ đîàļéçţ. -r îš ļéƒţ üñƃöüñđ öñ ksed, šö ţýþîñĝ îţ îš àñ éŕŕöŕ ŕàţĥéŕ ţĥàñ à šüŕþŕîšé.

kconv-o ƃéçöḿéš à ƃàţçĥ ŵĥéñ îţ ñàḿéš à đîŕéçţöŕý: à ţŕàîļîñĝ šéþàŕàţöŕ, öŕ à þàţĥ ţĥàţ àļŕéàđý îš öñé. Éàçĥ îñþüţ þŕöđüçéš öñé öüţþüţ ƒîļé ñàḿéđ àƒţéŕ îţš šţéḿ ŵîţĥ ţĥé ţàŕĝéţ éẋţéñšîöñ, àñđ ţĥé îñþüţ šüƃ-ţŕéé îš ḿîŕŕöŕéđ ŕéļàţîṽé ţö ţĥé đééþéšţ đîŕéçţöŕý éṽéŕý îñþüţ šĥàŕéš. Ţĥàţ ŕööţ îš çöḿþüţéđ ƒŕöḿ ţĥé ŕéšöļṽéđ îñþüţš ŕàţĥéŕ ţĥàñ ţĥé àŕĝüḿéñţš, šö à šĥéļļ-éẋþàñđéđ ĝļöƃ àñđ à kapi-éẋþàñđéđ öñé ƃéĥàṽé àļîķé, àñđ šàḿé-ñàḿéđ ƒîļéš îñ šîƃļîñĝ đîŕéçţöŕîéš çàññöţ çöļļîđé. Ţŵö îñþüţš ŕéšöļṽîñĝ ţö öñé öüţþüţ, àñđ àñ öüţþüţ ţĥàţ ŵöüļđ ļàñđ öñ îţš öŵñ îñþüţ, àŕé ŕéþöŕţéđ àñđ šķîþþéđ, ñéṽéŕ šîļéñţļý öṽéŕŵŕîţţéñ.

Ŵîţĥ ñö FILE, öŕ ŵĥéñ FILE îš -, šţàñđàŕđ îñþüţ îš ŕéàđ. À ţéŕḿîñàļ šţđîñ ŕéàđ îš ŕàçéđ àĝàîñšţ ţĥé çöḿḿàñđ çöñţéẋţ, šö àñ îñţéŕŕüþţ (ŵĥîçĥ ţĥé ÇĻÎ ţŕàþš àš çàñçéļļàţîöñ ŕàţĥéŕ ţĥàñ ļéţţîñĝ ţĥé šîĝñàļ ķîļļ ţĥé þŕöçéšš) ŕéţüŕñš çļéàñļý ŕàţĥéŕ ţĥàñ ĥàñĝîñĝ.

Éẋîţ çöđéš ƒöļļöŵ ĝŕéþ

Ţĥé üţîļîţîéš ŕéþöŕţ à ŕéšüļţ àš à šţàţüš, ñöţ àš àñ éŕŕöŕ. kgrep éẋîţš 0 ŵĥéñ àñý ƃļöçķ ḿàţçĥéđ, 1 ŵĥéñ ñöñé đîđ, àñđ 2 öñ öþéŕàţîöñàļ ţŕöüƃļé. Ţö éẋþŕéšš "ñö ḿàţçĥ" àš à šţàţüš ŵîţĥöüţ þŕîñţîñĝ àñ éŕŕöŕ ļîñé, à ñö-ḿàţçĥ ŕéţüŕñš ţĥé ErrSilentExit šéñţîñéļ: ţĥé ÇĻÎ ŕüññéŕ ḿàþš îţ ţö à ñöñ-žéŕö éẋîţ ƃüţ šüþþŕéššéš ţĥé ḿéššàĝé, ƃéçàüšé ţĥé çöḿḿàñđ ĥàš àļŕéàđý ŵŕîţţéñ, öŕ đéļîƃéŕàţéļý ŵîţĥĥéļđ, îţš öŵñ öüţþüţ.

kdiff ŕéüšéš ţĥé šàḿé šþîñé ƒöŕ ţĥé çļàššîç diff çöñṽéñţîöñ: 0 ŵĥéñ ţĥé îñþüţš àŕé éǫüîṽàļéñţ, 1 ŵĥéñ ţĥéý đéŕ (öŕ, îñ çöṽéŕàĝé ḿöđé, ŵĥéñ ţŕàñšļàţîöñ ŵöŕķ îš þéñđîñĝ), 2 öñ ţŕöüƃļé. Îţ þŕîñţš ţĥé đ ƒîŕšţ, ţĥéñ ŕéţüŕñš ţĥé šéñţîñéļ, šö ţĥéŕé îš ñö šþüŕîöüš éŕŕöŕ ļîñé àƒţéŕ à ļéĝîţîḿàţé ŕéšüļţ.

Ţĥîš îš ţĥé šàḿé éẋîţ-çöđé šþîñé üšéđ àçŕöšš ţĥé ÇĻÎ (Š-01): šüççéšš, éŕŕöŕ, üšàĝé, ĝàţé, àñđ çàñçéļļàţîöñ ḿàþþéđ ţö ţĥé šîĝñàļ çöđé, šö šçŕîþţš àñđ àĝéñţ šķîļļš çàñ ƃŕàñçĥ öñ ţööļƃöẋ ŕéšüļţš ŕéļîàƃļý.

Çöñšéǫüéñçéš

  • Éñĝîñééŕš ĝŕéþ àñđ šéđ ţĥé çöñţéñţ öƒ ƒöŕḿàţš ţĥéîŕ çļàššîç ţööļš çàñ öñļý šéé àš ƃýţéš, ŵîţĥ ñö ñéŵ ƃîñàŕý ţö îñšţàļļ.
  • Ŕéüšîñĝ ţĥé ŕéàđéŕš, ŵŕîţéŕš, àñđ šķéļéţöñ šţöŕé ḿéàñš à ƒàîţĥƒüļ ƒöŕḿàţ ŕöüñđ-ţŕîþš îţš šţŕüçţüŕé öñ éđîţ àñđ öñļý ţĥé þŕöšé çĥàñĝéš.
  • kconv ŕéüšéš ţĥàţ šàḿé ḿàçĥîñéŕý ţö çöñṽéŕţ ƃéţŵééñ ƒöŕḿàţš: à šàḿé-ƒöŕḿàţ çöñṽéŕšîöñ ŕöüñđ-ţŕîþš ƒàîţĥƒüļļý, ŵĥîļé à çŕöšš-ƒöŕḿàţ öñé þŕöĵéçţš ţĥé đöçüḿéñţ'š šţŕüçţüŕé ţĥŕöüĝĥ ƃļöçķ ŕöļéš îñţö ţĥé ţàŕĝéţ, šö à Ŵöŕđ đöçüḿéñţ ƃéçöḿéš çļéàñ Ḿàŕķđöŵñ öŕ ĤŢḾĻ ŵîţĥöüţ îţš šöüŕçé þàçķàĝîñĝ.
  • kdiff çöḿþàŕéš çöñţéñţ ŕàţĥéŕ ţĥàñ ƃýţéš: ŕé-šàṽîñĝ à đöçüḿéñţ öŕ ŕéöŕđéŕîñĝ à çàţàļöĝ þŕöđüçéš ñö đ, öñļý ĝéñüîñé þŕöšé çĥàñĝéš đö, àñđ ţĥé ƃļöçķ-šĥàþéđ çĥàñĝé šéţ îš éẋàçţļý ŵĥàţ à ŕé-ţŕàñšļàţîöñ þàšš çöñšüḿéš.
  • Ţĥé þŕöĵéçţîöñ îš đéƒîñéđ öñçé, šö ŵĥàţ çöüñţš àš "ţĥé ţéẋţ" îš çöñšîšţéñţ àçŕöšš ţĥé üţîļîţîéš àñđ ḿàţçĥéš ţĥé ŕéšţ öƒ ţĥé þîþéļîñé.
  • Ţĥé ĝŕéþ-šţýļé éẋîţ çöđéš ļéţ šçŕîþţš đîšţîñĝüîšĥ "ñö ḿàţçĥ" ƒŕöḿ "éŕŕöŕ" ŵîţĥöüţ þàŕšîñĝ öüţþüţ, ţĥé šàḿé þŕöþéŕţý àñ àĝéñţ šķîļļ ŕéļîéš öñ (Š-03).

Ŕéļàţéđ