Gibt es einen einfachen Befehl zum Umkehren einer Hexadezimalzahl?
Beispiel: Hexadezimalzahl:
030201
Die Ausgabe sollte sein:
010203
Mit dem rev
Befehl erhalte ich Folgendes:
102030
Aktualisieren
$ bash --version | head -n1
GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)
$ xxd -version
xxd V1.10 27oct98 by Juergen Weigert
$ rev --version
rev from util-linux 2.20.1
command-line
numeric-data
hex
Iñaki Murillo
quelle
quelle
010203
als hexadezimal behandelt wird , obwohl ich nicht benutze0x
Antworten:
Sie können es in eine Binärdatei konvertieren , die Bytes umkehren , optional nachgestellte Zeilenumbrüche
rev
<2,24 entfernen und es zurückkonvertieren:Verwenden von
Dies funktioniert nicht , wenn die Zeichenfolge das NUL-Byte enthält, da
rev
die Ausgabe an diesem Punkt abgeschnitten wird.quelle
0102030a
statt010203
0102030a
rev
Version2.20.1
; Verwenden Sie diesesxxd -revert -plain <<< '030201' | LC_ALL=C rev | tr -d '\n'| xxd -plain
rev
Vor der Version2.24
gibt es einen neuen Zeilenfehler. Weitere Informationen github.com/karelzak/util-linux/commit/…Wenn Ihr System einen
rev
Befehl hat.Wenn es einen
tac
odertail -r
Befehl hat:Mit
zsh
:(wie im
dd
Ansatz: Tauschen Sie Zeichenpaare aus, teilen Sie sie in eine Liste einzelner Zeichen auf (s::
), kehren Sie die Reihenfolge um (Oa
) und verbinden Sie (j::
)).POSIXly:
Oder
Mit
perl
:quelle
perl -F'(..)' -lane 'print reverse(@F)'
:)-F
. (Ich kann essplit()
jetzt im Handbuch beschrieben sehen).-F
wird im Grunde genommen aufgespalten$_
... abgesehen von der Verwendung von Regex, wie-F'/"\K\|(?=")/'
man auch die Anzahl der Teilungen angeben kann ... wie-F'/:/,$_,2'
... verwenden,()
wenn das Trennzeichen ebenfalls erfasst werden musstr -d '\n'
Mit
fold
+tac
+tr
:fold
- Alle 2 Bytes aufteilentac
- Rückwärtskattr
- Zeilenumbrüche entfernenquelle
Dies kehrt jede hexadezimale Linie zurück:
/(..)/g
Erstellt eine Liste mit den erfassten Übereinstimmungenquelle
(der Vollständigkeit halber)
quelle
Basierend auf der Antwort von Ipor Sircer /unix//a/321867/337458 würde ich dies in Ihrem empfehlen
~/.bashrc
, um einen netten Befehl zu haben, den Sie einfach aufrufen können:quelle