.\" Copyright (c) 2024 DTB .\" Copyright (c) 2024 Emma Tebibyte .\" .\" This work is licensed under CC BY-SA 4.0. To see a copy of this license, .\" visit . .TH swab 1 .SH NAME swab \(en swap bytes .SH SYNOPSIS swab .RB ( -f ) .RB ( -w .R [ .B word size .R ]) .SH USAGE Swap the latter and former halves of a block of bytes. .SH OPTIONS .B -f .RS Ignore system call interruptions. .RE .B -w .RS Configures the word size; that is, the size in bytes of the block size on which to operate. By default the word size is 2. The word size must be cleanly divisible by 2, otherwise the block of bytes being processed can't be halved. .RE .SH EXAMPLES The following sh(1p) line: .RS .R printf 'hello world!\n' | swab .RE Produces the following output: .RS .R ehll oowlr!d .RE .SH DIAGNOSTICS In the event of an error, a debug message will be printed and the program will exit with the appropriate sysexits.h(3) error code. .SH RATIONALE This program was modeled and named after the .R conv=swab functionality specified in the dd(1p) utility. It additionally allows the word size to be configured. This functionality is useful for fixing the endianness of binary files produced on other machines. .SH COPYRIGHT Copyright (c) 2024 DTB. License AGPLv3+: GNU AGPL version 3 or later . .SH SEE ALSO dd(1p)