BITS(1)

BEZEICHNUNG
bits - Bitmasken oder Listen aus oder in verschiedene Formate umwandeln

ÜBERSICHT

bits [-h] [-V] [-w Zahl] [Modus] [Maske|Liste] …

BESCHREIBUNG

Das Dienstprogramm bits wandelt zwischen Bitmasken und Bitlisten um. Es unterstützt mittels bitweiser Operationen die Kombination mehrerer Bitmasken.

POSITIONALE ARGUMENTE

Maske
    bezeichnet eine Reihe von Bits, angegeben als hexadezimaler Maskenwert (zum Beispiel 0xeec2).

Liste
    bezeichnet eine Reihe von Bits, angegeben als durch Kommata getrennte Liste von Bit-IDs (Beispiel: 1,5,29,32).

Wenn kein Argument angegeben ist, werden die Bitsätze von der Standardeingabe gelesen, eine Gruppe pro Zeile.

Aufeinanderfolgende IDs können als Bereiche zusammengefasst werden (Beispiel: 5,6,7,8,9,10 → 5-10).

Optional: Beginnt ein Argument mit einem Komma, wird es als einzelne, in 32-Bit-Gruppen aufgeteilte Hexadezimalmaske ausgewertet (Beispiel: ,00014000,00000000,00020000 → 17,78,80).

Standardmäßig werden alle Gruppen mit ODER verknüpft. Besitzt eine Gruppe eines der Präfixe &, ^ oder ~,, wird sie mit der resultierenden Maske mittels einer anderen binären Operation verknüpft:

&Maske|&Liste
    Die Gruppe wird mit einem binären UND verknüpft. Das heißt: Alle Bits, die in der Gruppe bisher auf 1 gesetzt waren UND die kombinierten Gruppen bleiben als 1 erhalten. Alle anderen Bits werden auf 0 zurückgesetzt.

^Maske|^Liste
    Die Gruppe wird mit einer binären XOR-Operation verknüpft. Das heißt: Alle Bits, die in der Gruppe auf 1 UND in den bisher verknüpften Gruppen auf 0 gesetzt sind (oder umgekehrt), werden auf 1 gesetzt. Bits, die beide auf 1 oder beide auf 0 gesetzt sind, werden auf 0 zurückgesetzt.

~Maske|~Liste
    Alle in der Gruppe auf 1 gesetzten Bits werden in den bisher zusammengefassten Gruppen gelöscht (auf 0 zurückgesetzt).

OPTIONEN

-w Zahl, --width Zahl
    legt die maximale Anzahl von Bits in den von bits verarbeiteten Masken fest. Der Standardwert ist 8192. Jedes Bit, das diese Zahl überschreitet, wird abgeschnitten.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

UMWANDLUNGSMODUS

Einer der folgenden Umwandlungsmodi kann angegeben werden. Falls nichts angegeben ist, wird -m, --mask als Vorgabe verwendet.

-b, --binary
    gibt die kombinierten Argumente als binären Maskenwert aus.

-g, --grouped-mask
    gibt die kombinierten Argumente als hexadezimalen Maskenwert in durch Kommata getrennten 32-bit-Gruppenn aus.

-l, --list
    gibt die kombinierten Argumente als Liste von Bit-IDs aus. Aufeinanderfolgende IDs werden als Bereiche zusammengefasst.

-m, --mask
    gibt die kombinierten Argumente als hexadezimalen Maskenwert aus (Vorgabe).

BEISPIELE

    ~$ bits --mask 4,5-8 16,30
    0x400101f0

    ~$ bits --list 0xeec2
    1,6,7,9-11,13-15

    ~$ bits --binary 4,5-8 16,30
    0b100_0000_0000_0001_0000_0001_1111_0000

    ~$ bits --list ,00300000,03000000,30000003
    0,1,28,29,56,57,84,85

    ~$ bits --list 1,2,3,4 ~3-10
    1,2

    ~$ bits --list 1,2,3,4 ^3-10
    1,2,5-10

    ~$ bits --grouped-mask 2,22,74,79
    8400,00000000,00400004

    ~$ bits --width 64 --list 2,22,74,79
    2,22

AUTOREN

Robin Jarry.

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl bits ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.