interesanta abordare, si e de retinut pe viitor, insa changed e pe
grupul de linii care s-a schimbat, si nu vad cum are sanse sa prinda
spre exemplu schimbarea partiala a unei linii anume
cred ca in timpul de cautare scriam fix ce-mi trebuie cu serpisoru, dar
deh, cica sa nu reinventez roata :-P
Alex
On 05-Dec-23 20:46, Mihai Osian wrote:
On Mon, Dec 4, 2023 at 12:46 PM Alex 'CAVE' Cernat via RLUG
<rlug@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@kermix:~/tmp$ cat a
a
b
c
mike@kermix:~/tmp$ cat b
a
d
c
mike@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@kermix:~/tmp$
Daca vrei si culori se poate inventa o minune de genul (cauta "ansi
escape colors", desi deja o ia razna treaba):
mike@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@kermix:~/tmp$
Sau, cel mai simplu:
mike@kermix:~/tmp$ diff -y a b
a a
b | d
c c
Mihai
_______________________________________________
RLUG mailing list
RLUG@lists.lug.ro
http://lists.lug.ro/mailman/listinfo/rlug_lists.lug.ro