Lumaktaw sa nilalaman

diff · + idinagdag · − inalis

Text compare

Ang paghahambing ng “red, green, blue” sa “red, yellow, blue” linya por linya ay nagbibigay ng 1 linyang idinagdag, 1 linyang inalis at 2 hindi nagbago. I-paste ang dalawang teksto para makita ang bawat pagkakaiba.

Minamarkahan ng + ang bawat idinagdag na linya at ng − ang bawat inalis na linya, bukod pa sa kulay, at naka-highlight ang mga binagong karakter sa loob ng pinalitang linya. Naghahambing habang nagta-type ang maliliit na teksto; hindi lumalabas sa tab na ito ang teksto.

Scanned by NortonTM Safe Web

Sa isang tingin

Presyo
Walang singil
Account
Hindi kailangan
Upload
Hindi naaangkop — nananatili sa tab mo ang dalawang teksto
Paraan
Longest common subsequence ng mga linya, na may naka-highlight na binagong karakter
Output
May kulay at markang mga linya, o unified diff na may 3 linya ng konteksto
Limitasyon sa laki
5,000 linya at 5,000,000 karakter bawat teksto

Isang halimbawang paghahambing at ang epekto ng mga opsyon

Galing sa parehong code ng tool ang mga talahanayan. Naghahambing ang una ng dalawang tekstong may tatlong linya; ipinapakita ng ikalawa kung paano binabago ng mga opsyon ang resulta para sa isang pares ng linya.

“red, green, blue” laban sa “red, yellow, blue”, isa bawat linya
MarkaLinya
=red
−green
+yellow
=blue
“Hello World” laban sa “hello world” (dalawang espasyo)
SettingMga linyang idinagdagMga linyang inalis
Eksakto11
Ignore case11
Ignore whitespace11
Ignore case at whitespace00

Paano paghambingin ang dalawang teksto

1

I-paste ang dalawang teksto

Ilagay ang mas lumang teksto sa kahong Original at ang mas bagong teksto sa kahong Changed. May dalawang maikling sample nang nakalagay. Pinagpapalit ng Swap ang dalawang kahon, at binubura ng Clear ang dalawa.

2

Piliin kung ano ang bibilangin na pagkakaiba

Lagyan ng tsek ang Ignore case para ituring na parehong linya ang “Hello” at “hello”, at Ignore whitespace para balewalain ang mga espasyo sa dulo ng linya at ang paulit-ulit na espasyo sa loob nito. Itinatago ng Show only changes ang mga hindi nagbagong linya, na nag-iiwan ng 3 linya sa palibot ng bawat pagbabago.

3

Basahin o kopyahin ang pagkakaiba

Ang mga linyang may markang − ay nasa Original lang, ang mga may markang + ay nasa Changed lang. Kopyahin ang unified diff para i-paste sa mensahe o patch, o i-download bilang .diff file.

Paano gumagana ang paghahambing

Hinahati sa mga linya ang dalawang teksto, at hinahanap ng tool ang longest common subsequence ng mga linya: ang pinakamalaking hanay ng mga linyang lumilitaw sa parehong teksto sa iisang pagkakasunod-sunod. Iniuulat na inalis (nasa original lang) o idinagdag (nasa binagong teksto lang) ang bawat linyang wala sa hanay na iyon, kaya pinakakaunti ang binagong linya sa diff. Kapag sinusundan agad ng idinagdag na linya ang inalis na linya, naka-highlight ang mga karakter na magkaiba sa pagitan ng dalawa.

Linya ang batayan ng diff dahil linya ang yunit kung saan nagbabago ang code, configuration file at listahan, at nananatiling mabilis ang paghahambing ng linya para sa libu-libong linya. Ang linyang inilipat ay lumilitaw nang minsan bilang inalis at minsan bilang idinagdag; ang binagong salita ay lumilitaw bilang pinalitang linya, na naka-highlight ang mga karakter. Pinapantay ang mga line ending, kaya tumutugma ang file na naka-save na may Windows line break sa parehong file na may Unix line break. Ang bawat teksto ay maaaring hanggang 5,000 linya at 5,000,000 karakter. Ginagamit ng unified diff na output ang karaniwang format: header na --- at +++, saka mga @@ hunk na may 3 linya ng konteksto.

Mga tanong tungkol sa text compare

Paano nagpapasya ang text diff kung ano ang nagbago?

Hinahanap nito ang longest common subsequence ng mga linya, ibig sabihin ang pinakamaraming linyang pareho sa dalawang teksto sa iisang pagkakasunod-sunod. Ang mga linyang wala roon ay minamarkahan ng − kung ang original lang ang may mga ito at ng + kung ang binagong teksto lang. Ang “red, green, blue” laban sa “red, yellow, blue” ay nag-iiwan ng red at blue, nag-aalis ng green at nagdaragdag ng yellow.

Bakit linya ang batayan ng paghahambing at hindi salita?

Ganito inaayos ang code, log, listahan at configuration file, at sapat na maikli ang resultang batay sa linya para mabasa. Sa pinalitang linya, naka-highlight sa loob nito ang mga karakter na magkaiba, kaya madaling makita ang pagbabago ng isang salita sa mahabang pangungusap.

Ano ang ibig sabihin ng mga kulay at ng mga tanda na + at −?

Ang berdeng linyang may markang + ay idinagdag sa Changed na teksto. Ang pulang linyang may markang − ay inalis sa Original. Ang mga linyang walang marka ay pareho sa dalawa. Naka-print din ang mga tanda bukod sa mga kulay, kaya nababasa ang resulta kahit hindi nakikilala ang pula sa berde.

Paano ko babalewalain ang pagkakaiba sa case o espasyo?

Lagyan ng tsek ang Ignore case para ihambing ang mga linya nang hindi tinitingnan ang malalaking titik, at Ignore whitespace para balewalain ang mga espasyo sa simula at dulo ng linya at ituring na isang espasyo ang anumang hanay ng espasyo sa loob nito. Kapag parehong may tsek, parehong linya ang “Hello World” at “hello world”.

Gaano kalaki ang puwedeng dalawang teksto?

Ang bawat teksto ay maaaring hanggang 5,000 linya at 5,000,000 karakter. Ang 5,000-linyang tekstong inihambing sa nakareorder na kopya nito ay napoproseso sa wala pang isang segundo sa kasalukuyang computer. Sa higit 100,000 karakter sa kabuuan, nagsisimula ang paghahambing kapag pinindot mo ang Compare sa halip na habang nagta-type.

Ano ang unified diff?

Ito ang format ng teksto na ginagamit ng diff at Git. Nagsisimula ito sa linyang --- at +++ na pinapangalanan ang dalawang teksto, saka isang bloke bawat grupo ng pagbabago. Nagsisimula ang bloke sa header tulad ng @@ -1,3 +1,3 @@, na nangangahulugang 3 linya mula linya 1 ng original at 3 linya mula linya 1 ng binagong teksto, at nagsisimula ang bawat linya sa espasyo, + o −.