Das klassische Unix- und Linux-Tool "cut" ist dafür gedacht, aus zeilenweisen Informationen einzelne Felder zu extrahieren. Ein Beispiel dafür ist die Paketliste auf Debian- und Ubuntu-Systemen, die etwa so aussieht:
ii adduser 3.113+nmu3 all add and remove users and groups ii apache2 2.2.22-13+deb7u6 i386 Apache HTTP Server metapackage
Dabei sind die einzelnen Felder durch eine unterschiedlich große Anzahl an Leerzeichen getrennt, was es schwierig macht, sie mit "cut" zu verarbeiten, denn das Tool kann nur einzelne Zeichen als Feldtrenner verwenden, etwa mit der Option "-d ' '" das Leerzeichen. Das Problem lässt sich mit dem Utility "tr" lösen, das mit der Option "-s" (--squeeze-repeats) mehrfach vorkommende Leerzeichen auf ein einziges reduziert.
Eine Alternative zu dieser Methode eröffnet das Perl-Skript "cuts" , das die gleichen Funktionen wie "cut" bietet, aber mit wesentlich mehr Komfort. So erspart es etwa die obigen Bearbeitung der Leerzeichen mit "tr". Generell ist es nicht nötig, den Feldtrenner überhaupt anzugeben, denn "cuts" versucht selber, das dafür verwendete Zeichen herauszufinden. Selbst Listen, in denen sich das Trennzeichen von Zeile zu Zeile unterscheidet, kann es verarbeiten. Im Gegensatz zu "cut" beginnt "cuts" bei der Zählung der Felder mit 0. Der folgende Aufruf extrahiert den Paketnamen aus der obigen Liste:
dpkg -l | cuts 1
Praktisch ist auch die Möglichkeit, mit dem Zählen von hinten zu beginnen. Wer beispielsweise das letzte Feld in Zeilen mit vielen Elementen verwenden möchte, kann dies mit "cuts -1" erreichen, ohne alle Felder abzuzählen. Ein weiteres interessantes Feature ist die Möglichkeit, eine Regular Expression zur Angabe des Feldtrenners zu verwenden. Auch die Funktionalität des cut-Pendants "paste" ist in "cuts" bereits integriert.
Zur Installation genügt es, aus dem Github-Repository die Datei "cuts" herunterzuladen, mit "chmod +x" ausführbar zu machen und in einem Verzeichnis zu speichern, das im der Umgebungsvariable PATH enthalten ist.