
Angenommen, ich habe zwei Grep-Befehle:
grep -rno 'foo' --include \*.txt|wc -l
grep -rno 'bar' --include \*.txt|wc -l
Wie kann ich automatisch überprüfen, ob die Ausgabe dieselbe Nummer ist, und dementsprechend „ja“ oder „nein“ drucken? Ich vermute, dass ich hierfür ein Skript benötige, vielleicht aber auch nicht.
Antwort1
test "$(grep -rno 'foo' --include \*.txt|wc -l)" = "$(grep -rno 'bar' --include \*.txt|wc -l)" && echo Yes || echo No
oder
var1=$(grep -rno 'foo' --include \*.txt|wc -l)
var2=$(grep -rno 'bar' --include \*.txt|wc -l)
test "$var1" = "$var2" && echo Yes || echo No
Unter Shell kann alles, was Sie ausführen, zu einem Skript werden. Ob Sie es zu einem Skript machen oder nicht, hängt davon ab, wie komplex es ist und wie oft Sie es ausführen möchten.