Frage 101-100

Was hat der Aufruf wc -c test.txt für einen Effekt?

  1. Die Zeilen von test.txt werden gezählt.

  2. Die Bytes von test.txt werden gezählt.

  3. Leere Zeilen werden in der Ausgabe unterdrückt.

  4. Mehrere aufeinander folgende Leerzeichen werden in der Ausgabe durch ein einziges Leerzeichen ersetzt.

LPI-Lernziel Textströme mit Filtern verarbeiten (103.2)

wc ist die Abkürzung von »word count«, aber dieses Programm zählt nicht nur Wörter in seiner Eingabe, sondern auch Zeilen und Bytes. Mit der Option -c beschränkt es sich darauf, die Anzahl der gesehenen Bytes auszugeben -- Antwort 2 ist richtig. (Die korrekte Option für die Zeilenanzahl, wie bei Antwort 1 verlangt, wäre -l.) Mit der Option »-m« können Sie wc im Übrigen dazu bringen, statt Bytes Zeichen zu zählen; dieser Unterschied wird bedeutsam, wenn Sie etwas wie UTF-8 verwenden, wo manche Zeichen durch mehrere Bytes dargestellt werden. Leerzeilen (Antwort 3) unterdrücken Sie am besten mit etwas wie grep -v '^$', während Sie Folgen von Leerzeichen (Antwort 4) zum Beispiel mit tr -s ' ' kompaktieren können.

1 Kommentar · Kommentar hinzufügen · RSS

Falsche Option

MiniMe (Gast) · 8. Januar 2010, 16:51

Die Option '-c' zählt nicht die Anzahl der Zeichen (auch wenn man gleich an 'characters' denkt), sondern die Anzahl Bytes. Um die Zeichen zu zählen, muss man die Option '-m' verwenden, sonst erhält man im Falle einer Multibyte-Codierung falsche Werte!

Es handelt sich dabei um eine Änderung (ich glaube entsprechend POSIX2), die aber nun auch schon ein paar Jahre her ist. Die Frage sollte daher korrigiert werden...

Wichtig

LPI-Logo

Die LPI Academy ist keine offizielle Webseite des LPI!

Sponsor

Linup-Front-Logo

Die LPI Academy wird für die Community unterstützt von der Linup Front GmbH

A Django Site

Diese Seite

Version: 0 (Anselm)
22.8.2009 01:07:24

Benutzer

Nicht angemeldet

Kommentare

RSS