Hoe kan ik de output van twee commandos differentiëren? [duplicate]

Deze vraag heeft hier al een antwoord :

Reacties

  • Natuurlijk, als een van de commandos echt een cat met een enkel bestandsargument, er ' is geen duidelijke reden om die bestandsnaam niet te gebruiken als een van de argumenten voor diff.
  • dezelfde vraag op stackoverflow met 250+ stemmen: stackoverflow.com/questions/3800202/…

Answer

Gebruik procesvervanging :

diff <(cat /etc/passwd) <(cut -f2 /etc/passwd) 

<(...) wordt processubstitutie genoemd. Het converteert de uitvoer van een commando naar een bestandachtig object waarvan diff kan lezen.

Hoewel procesvervanging niet POSIX is, wordt het ondersteund door bash, ksh en zsh.

Antwoord

Verschil tussen 2 uitgevoerde opdrachten: –

$ diff <(command1) <(command2)

Verschil tussen opdrachtuitvoer en bestand: –

$ diff <(command) filename

Verschil tussen 2 bestanden: –

$ diff file1 file2

bijv $ diff <(mount) <(cat /proc/mounts)

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *