[rlug] diff mai diferit

Alex 'CAVE' Cernat cave at cernat.ro
Tue Dec 5 21:19:40 EET 2023


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 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