Piping-Unterschied von grep -c's mit unterschiedlichen regulären Ausdrücken zu bc

Piping-Unterschied von grep -c's mit unterschiedlichen regulären Ausdrücken zu bc

Ich muss die Anzahl der Wörter in einer Datei ermitteln (1 Wort pro Zeile), die bestimmte Buchstaben nicht enthalten. Dazu muss ich die Differenz von grep -c '.' <file>und nehmen grep -c '<other_pattern>' <file>. Ich habe versucht, mit dem folgenden Befehl eine Weiterleitung an bc durchzuführen echo "(grep -c '.' <file>) - (grep -c '<other_pattern>' <file>)" | bc. Das Ergebnis lautete lediglich „Syntaxfehler“. Ich hatte gehofft, dass jemand weiß, welche Syntax erforderlich ist, damit bc die Ergebnisse der Grep-Aufrufe akzeptiert. Ich muss dies ebenfalls mit einem einzigen Befehl erledigen.

Dank im Voraus.

Antwort1

Ihnen fehlen lediglich zwei Dollarzeichen, um die Befehlsersetzung zu aktivieren:

echo $(grep -c '.' <file>) - $(grep -c '<other_pattern>' <file>) | bc

Ich habe auch die Anführungszeichen entfernt, da sie nicht wirklich notwendig sind.

verwandte Informationen