webForumDet fria alternativet

Jämföra två output

Linux & BSD

4 svar · 310 visningar · startad av Ryzzen

Medlem sedan mars 2000267 inlägg
Frågan#1

Vill jämföra två olika två output från olika kommandos och se om de är samma.

Man borde ju kunna använda cmp, diff eller comm.

Men hur?

Medlem sedan jan. 2003573 inlägg
#2

skapa en fil som heter outputdiff som innehåller;
!#/bin/sh
$1 > /tmp/output1
$2 > /tmp/output2
diff /tmp/output1 /tmp/output2
rm /tmp/output1
rm /tmp/output2
--

Kör sen outputdiff kommando1 kommando2 ?

/M

Medlem sedan mars 2000267 inlägg
#3

Finns det ingen möjlighet att få till det med en kommando rad?

Medlem sedan jan. 2003573 inlägg
#4

Kommandot (outputdiff) blir en rad om Du skapar en fil med det innehållet ...........................

/M

Medlem sedan juni 200246 inlägg
#5

Annars löser du det enkelt med en if-sats:

#!/bin/sh
                                                                                
COMMAND1="ls";
COMMDND2="ls -l";
                                                                                
if [ "$($COMMAND1)" = "$($COMMAND2)" ]; then
    echo "samma";
else
    echo "inte samma";
fi

Du får byta ut kommandona till vad som ska köras.

250 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)