[rlug] diff mai diferit
Mihai Osian
mihai.osian at gmail.com
Tue Dec 5 20:46:33 EET 2023
On Mon, Dec 4, 2023 at 12:46 PM Alex 'CAVE' Cernat via RLUG <
rlug at lists.lug.ro> wrote:
> salut
>
> poate s-a mai lovit careva de chestia asta si a gasit o solutie simpla
> si eficienta, pana acum n-am gasit nimic si parca e peste mana sa
> reinventez roata, daca deja exista si se invarte pe undeva
>
> concret: diff-ul, fiind o scula de programare, e all or nothing, aka ori
> s-a pus linia, ori s-a scos; pe mine m-ar interesa ceva cat mai simplu
> care sa aiba si optiunea de "s-a modificat" linia respectiva (mdea, aici
> devine subiectiv, deci preferabil ar fi sa fie cumva configurabila
> "similaritatea" ... sau poate am noroc si merge din fuleu, pe baza unui
> criteriu gen daca incepe la fel atunci s-ar putea sa ...)
>
> a folosit cineva ceva de genul si poate recomanda? ca nea gogu gpt vad
> ca minte cam mult in ultimul timp 😛
>
> mersi
>
> Alex
>
>
Daca ai timp si rabdare sa il bibilesti atunci si diff-ul clasic are
optiuni de formatare. De exemplu:
mike at kermix:~/tmp$ cat a
a
b
c
mike at kermix:~/tmp$ cat b
a
d
c
mike at kermix:~/tmp$ diff --unchanged-group-format='' --old-line-format='%l'
--new-line-format='%l' --changed-group-format='s-a schimbat modificarea,
linia %df din A (adica "%<") se facu linia %dF (adica "%>") din B
' a b
s-a schimbat modificarea, linia 2 din A (adica "b") se facu linia 2 (adica
"d") din B
mike at kermix:~/tmp$
Daca vrei si culori se poate inventa o minune de genul (cauta "ansi escape
colors", desi deja o ia razna treaba):
mike at kermix:~/tmp$ diff --unchanged-group-format=''
--old-line-format='\033[0;31m%l\033[0m'
--new-line-format='\033[1;35m%l\033[0m' --changed-group-format='s-a
schimbat modificarea, linia %df din A (adica "%<") se facu linia %dF (adica
"%>") din B
' a b | xargs echo -e
s-a schimbat modificarea, linia 2 din A (adica b) se facu linia 2 (adica d)
din B
mike at kermix:~/tmp$
Sau, cel mai simplu:
mike at kermix:~/tmp$ diff -y a b
a a
b | d
c c
Mihai
More information about the RLUG
mailing list