diff -y to file

Giorgos Keramidas keramida at freebsd.org
Mon Mar 31 09:07:01 EEST 2003


On 2003-03-30 22:44, Alexandros Papadopoulos <apapadop at cmu.edu> wrote:
>
> Ξέρει κανείς τρόπο να σωθεί σε αρχείο το output ενός:
> $ diff -y -l --suppress-common-lines x y
>
> Με ένα απλό redirect (>), το αρχείο είναι φίσκα στα ^M και οπτικά δεν
> έχει καμμία σχέση με αυτό που βλέπω στην κονσόλα! Μόνο με cat το βλέπω
> (να περνάει...) όπως το θέλω, με ό,τι άλλο viewer δοκίμασα (από less,
> nano και vi μέχρι kate), το indentation πάει περίπατο...

Τα ^M μπορείς πάντα να τα αφαιρέσεις με το col(1):

	$ echo 'lalala^M' | col -b | od -c
	0000000    l   a   l   a   l   a  \n
	0000007
	$

Αν και φοβάμαι πως κάτι άλλο παίζει.  Γιατί εδώ το diff -y μόνο plain
ASCII βγάζει:

	$ uname -sr
	Linux 2.4.20

	$ diff --version
	diff - GNU diffutils version 2.7

	$ diff -y foo.orig foo | od -c
	0000000   k   o   k   o  \t  \t  \t  \t  \t  \t  \t
	0000020       |  \t   l   a   l   a  \n
	0000030

Αν σε πειράζει που το diff γενικά χαλάει το indentation του αρχικού
κώδικα όταν κάνεις patches, δοκίμασε το option -T, που αντί για space
μετά τον πρώτο χαρακτήρα κάθε γραμμής βάζει ένα tab.  Έτσι το indent
δεν χαλάει... απλά πάει ένα tab πιο μέσα.





More information about the Linux-greek-users mailing list