BITS(1)

BEZEICHNUNG
bits - Bitmasken aus oder in verschiedene Formate umwandeln

ÜBERSICHT

bits [-h] [-V] [-w <ZAHL>] [<MODUS>] [<MASKE_ODER_LISTE> …]

BESCHREIBUNG

Das Dienstprogramm bits wandelt Bitmasken verschiedener Formate ineinander um. Es unterstützt mittels bitweiser Operationen die Kombination mehrerer Bitmasken

POSITIONALE ARGUMENTE

<MASKE_ODER_LISTE>
    bezeichnet eine Reihe von Bits, angegeben als hexadezimaler Maskenwert (zum Beispiel 0xeec2) oder als durch Kommata getrennte Liste von Bit-IDs.

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 folgenden Präfixe, wird sie mit der resultierenden Maske mittels einer anderen binären Operation verknüpft:

&<MASKE_ODER_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_ODER_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_ODER_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 ist8192. 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.

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

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

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

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

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.