Terminal 'diff': hoe type je het pad naar folders?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • tup61
  • Registratie: Februari 2020
  • Laatst online: 17-09 16:38
Ik heb verschillende artikelen online bekeken maar geen van allen geven duidelijk aan hoe je in de terminal (OS X) twee verschillende paden moet intypen voor een diff actie. Ik wil twee mappen vergelijken, eentje op mijn interne SSD en eentje op een externe HD. Ik zie namelijk een verschil in het aantal bestanden maar het gaat om honderden mappen en duizenden files dus handmatig het verschil uitvogelen is onmogelijk. De basic opdracht is:

diff -rq DIR1 DIR2

Maar ik heb geen idee hoe ik de paden van DIR1 en DIR2 moet typen... Ik kan daar dus nergens een voorbeeld van vinden.

Ik zie dat er diverse tools zijn hiervoor maar ik wou het eigenlijk simpel houden... ;)

Beste antwoord (via tup61 op 31-10-2022 13:05)


  • Daedalus
  • Registratie: Mei 2002
  • Niet online

Daedalus

Moderator Apple Talk

Keep tryin'

Of sleur en pleur de folder op je terminal, en hij vult zelf het pad in.

“You know what I've noticed Hobbes? Things don't bug you if you don't think about them. So from now on, I simply won't think about anything I don't like, and I'll be happy all the time!” | 宇多田ヒカル \o/

Alle reacties


Acties:
  • +1 Henk 'm!

  • ElMacaroni
  • Registratie: November 2012
  • Laatst online: 22-09 22:55

ElMacaroni

Laat de zon maar komen!

Tik eens "pwd" in...

SE2200+14xSF170S & SE1500M+4xTSM-375


Acties:
  • +1 Henk 'm!

  • AcidBanger
  • Registratie: Maart 2008
  • Laatst online: 19-09 17:07
diff -rq /volumes/geenideehoedisknummer1heet/map1/ /volumes/geenideehoedis2nummer2heet/map1/
Edit:

Mocht je ergens een spatie teken in een naam hebben dan moet je hem escapen met \

[ Voor 33% gewijzigd door AcidBanger op 31-10-2022 12:44 ]


Acties:
  • Beste antwoord
  • +3 Henk 'm!

  • Daedalus
  • Registratie: Mei 2002
  • Niet online

Daedalus

Moderator Apple Talk

Keep tryin'

Of sleur en pleur de folder op je terminal, en hij vult zelf het pad in.

“You know what I've noticed Hobbes? Things don't bug you if you don't think about them. So from now on, I simply won't think about anything I don't like, and I'll be happy all the time!” | 宇多田ヒカル \o/


Acties:
  • +1 Henk 'm!

  • tup61
  • Registratie: Februari 2020
  • Laatst online: 17-09 16:38
Daedalus schreef op maandag 31 oktober 2022 @ 12:46:
Of sleur en pleur de folder op je terminal, en hij vult zelf het pad in.
LOL Hoe simpel kan het zijn... ;)

Voor het geval dat iemand hetzelfde wil doen als ik: je kan ook nog de optie -x gebruiken om bepaalde files te excluden. Zoals .DS_Store.... :| ;) De opdracht wordt dan (bijvoorbeeld):

diff -x '.DS_Store' -rq DIR1 DIR2

De lijst met resultaten wordt dan een hééél stuk korten. ;)

EDIT
Opnieuw een vraag: hoe kan je meerdere files excluden? Want naast .DS_Store wil ik ook .lst excluden (van Adobe) maar die pakt 'ie niet. Dus...

diff -x '.DS_Store' -x '.lst' -rq DIR1 DIR2

...werkt niet. Ik krijg alsnog alle .lst bestanden te zien (en dat zijn er ook aardig wat).

[ Voor 50% gewijzigd door tup61 op 31-10-2022 13:43 ]


Acties:
  • +2 Henk 'm!

  • Daedalus
  • Registratie: Mei 2002
  • Niet online

Daedalus

Moderator Apple Talk

Keep tryin'

tup61 schreef op maandag 31 oktober 2022 @ 13:22:
[...]
EDIT
Opnieuw een vraag: hoe kan je meerdere files excluden? Want naast .DS_Store wil ik ook .lst excluden (van Adobe) maar die pakt 'ie niet. Dus...

diff -x '.DS_Store' -x '.lst' -rq DIR1 DIR2

...werkt niet. Ik krijg alsnog alle .lst bestanden te zien (en dat zijn er ook aardig wat).
Het argument voor -x is een patroon, en geen file. Als je alle bestanden die eindigen op .lst wilt excluden, geef je als argument -x '*.lst'. Vergeet niet om enkele quotes om het patroon te gebruiken, want anders wordt deze eerst geïnterpreteerd door je shell voordat ze wordt doorgegeven aan diff.

Pro-tip: type man diff voor een (korte) handleiding.

[ Voor 4% gewijzigd door Daedalus op 31-10-2022 14:32 ]

“You know what I've noticed Hobbes? Things don't bug you if you don't think about them. So from now on, I simply won't think about anything I don't like, and I'll be happy all the time!” | 宇多田ヒカル \o/


Acties:
  • 0 Henk 'm!

  • tup61
  • Registratie: Februari 2020
  • Laatst online: 17-09 16:38
Daedalus schreef op maandag 31 oktober 2022 @ 14:29:
[...]

Het argument voor -x is een patroon, en geen file. Als je alle bestanden die eindigen op .lst wilt excluden, geef je als argument -x '*.lst'. Vergeet niet om enkele quotes om het patroon te gebruiken, want anders wordt deze eerst geïnterpreteerd door je shell voordat ze wordt doorgegeven aan diff.

Pro-tip: type man diff voor een (korte) handleiding.
Aaaaaah, oké, ik werd op de verkeerde voet gezet door die punt voor DS_Store. Maar dat is geen extensie: het is de complete bestandsnaam (met die punt erbij). Duidelijk! :)

Acties:
  • +1 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Laatst online: 08:35
Mac conventie: bestandsnaam die met een punt begint is automatisch 'hidden'.

Acties:
  • +2 Henk 'm!

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 12:46

Maasluip

Frontpage Admin

Kabbelend watertje

Unix-conventie 8)7 OS X is gewoon BSD-Unix.

Signatures zijn voor boomers.


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

Archer_VC10 schreef op maandag 31 oktober 2022 @ 15:21:
Mac conventie: bestandsnaam die met een punt begint is automatisch 'hidden'.
Ook op o.a. Linux based distributies zijn dot files/folders gewoon hidden files/folders op het bestandssysteem. Dat is niet echt Mac-specifiek, zeg maar. En ja, ook Linux is BSD/UNIX-based. ;)

[ Voor 6% gewijzigd door CH4OS op 31-10-2022 15:32 ]


Acties:
  • 0 Henk 'm!

  • Archer_VC10
  • Registratie: Oktober 2004
  • Laatst online: 08:35
Sorry, Unix is blijkbaar echt te ver weggezakt bij mij.... 😆
Pagina: 1