Hur skiljer jag utmatningarna från två kommandon? [duplicera]

<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">

Denna fråga har redan ett svar här :

Kommentarer

  • Naturligtvis, om ett av kommandona verkligen är en cat med ett enda filargument finns det ' ingen uppenbar anledning att inte använda filnamnet som ett av argumenten till diff.
  • samma fråga om stackoverflow med 250+ röster: stackoverflow.com/questions/3800202/…

Svar

Använd processbyte :

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

<(...) kallas processersättning. Den konverterar utdata från ett kommando till ett filliknande objekt som diff kan läsa från.

Även om processersättning inte är POSIX stöds den av bash, ksh och zsh.

Svar

Skillnad mellan två kommandos utdata: –

$ diff <(command1) <(command2)

Skillnad mellan kommandoutput och fil: –

$ diff <(command) filename

Skillnad mellan två filer: –

$ diff file1 file2

t.ex. $ diff <(mount) <(cat /proc/mounts)

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *