chrbr hat geschrieben: 
23.06.2023 13:40:03
Hallo uname,
bei deinem Kommando bekomme ich einen Fehler:
Code: Alles auswählen
~> dpkg -l | awk ’/aspell/ {i++} END { print i}’
awk: 1: unexpected character 0xe2
Passiert das bei dir nicht?
Probier's mal mit normalen und nicht mit typographischen Single-Quotes.
Nachtrag:
Hier kommt das 0xe2 von der Fehlermeldung her: Es ist das erste Byte der vier Byte langen UTF-8 Kodierung des typographischen Anfuehrungszeichens.
Um das mal genauer zu analysieren: Statt `awk' habe ich in deinem Befehl einfach mal die folgende `printargs'-Funktion eingesetzt. Damit siehst du was fuer Argumente uebergeben werden. Du ueber gibst deinem awk-Aufruf sechs Argumente. Der Befehl enthaelt *keine* Quotes!
Code: Alles auswählen
:-Q printargs() { for i in "$@"; do echo "$i"; done; }
:-Q printargs ’/aspell/ {i++} END { print i}’
’/aspell/
{i++}
END
{
print
i}’
Richtig waere aber genau ein Argument, das das ganze Programm enthaelt:
Code: Alles auswählen
:-Q printargs '{if ($0 ~ /aspell/) {i++} } END {print i}'
{if ($0 ~ /aspell/) {i++} } END {print i}