|
NAMEbits - convert bit masks from/to various formats SYNOPSISbits [-h] [-V] [-w <NUM>] [<MODE>] [<MASK_OR_LIST>...] DESCRIPTIONThe bits utility converts bit masks into various formats. It supports combining multiple masks together using bitwise operations. POSITIONAL ARGUMENTS<MASK_OR_LIST> A set of bits specified as a hexadecimal mask value (e.g.
0xeec2) or as a comma-separated list of bit IDs.
If no argument is specified, the sets of bits will be read from standard input; one group per line. Consecutive ids can be compressed as ranges (e.g. 5,6,7,8,9,10 → 5-10). Optionally, if an argument starts with a comma, it will be parsed as a single hexadecimal mask split in 32bit groups (e.g. ,00014000,00000000,00020000 → 17,78,80). By default all groups will be OR’ed together. If a group has one of the following prefixes, it will be combined with the resulting mask using a different binary operation: &<MASK_OR_LIST> The group will be combined with a binary AND operation.
I.e. all bits that are set to 1 in the group AND the combined groups so far
will be preserved to 1. All other bits will be reset to 0.
^<MASK_OR_LIST> The group will be combined with a binary XOR operation.
I.e. all bits that are set to 1 in the group AND to 0 the combined groups so
far (or the other way around) will be set to 1. Bits that are both to 1 or
both to 0 will be reset to 0.
~<MASK_OR_LIST> All bits set to 1 in the group will be cleared (reset to
0) in the combined groups so far.
OPTIONS-w <NUM>, --width <NUM> Maximum number of bits in the masks handled by
bits (default 8192). Any bit larger than this number will be
truncated.
-h, --help Display help text and exit.
-V, --version Display version and exit.
CONVERSION MODEOne of the following conversion modes can be specified. If not specified, it defaults to -m, --mask. -m, --mask Print the combined args as a hexadecimal mask value
(default).
-g, --grouped-mask Print the combined args as a hexadecimal mask value in
32bit comma separated groups.
-b, --binary Print the combined args as a binary mask value.
-l, --list Print the combined args as a list of bit IDs. Consecutive
IDs are compressed as ranges.
EXAMPLES~$ 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 AUTHORSRobin Jarry. REPORTING BUGSFor bug reports, use the issue tracker <https://github.com/util-linux/util-linux/issues>. AVAILABILITYThe bits command is part of the util-linux package which can be downloaded from Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
|