16進文字を普通の文字に変換するには?

16進文字を普通の文字に変換するには?

私はこれを試しましたが、「sed」を「脱出」するのをやめました。

sed -i 's/\\x0/NUL/g' $1
sed -i 's/\\x1/SOH/g' $1
sed -i 's/\\x2/STX/g' $1
sed -i 's/\\x3/ETX/g' $1
sed -i 's/\\x4/EOT/g' $1
sed -i 's/\\x5/ENQ/g' $1
sed -i 's/\\x6/ACK/g' $1
sed -i 's/\\x7/BEL/g' $1
sed -i 's/\\x8/BS/g' $1
sed -i 's/\\x9/HT/g' $1
sed -i 's/\\x0A/LF/g' $1
sed -i 's/\\x0B/VT/g' $1
sed -i 's/\\x0C/FF/g' $1
sed -i 's/\\x0D/CR/g' $1
sed -i 's/\\x0E/SO/g' $1
sed -i 's/\\x0F/SI/g' $1
sed -i 's/\\x10/DLE/g' $1
sed -i 's/\\x11/DC1/g' $1
sed -i 's/\\x12/DC2/g' $1
sed -i 's/\\x13/DC3/g' $1
sed -i 's/\\x14/DC4/g' $1
sed -i 's/\\x15/NAK/g' $1
sed -i 's/\\x16/SYN/g' $1
sed -i 's/\\x17/ETB/g' $1
sed -i 's/\\x18/CAN/g' $1
sed -i 's/\\x19/EM/g' $1
sed -i 's/\\x1A/SUB/g' $1
sed -i 's/\\x1B/ESC/g' $1
sed -i 's/\\x1C/FS/g' $1
sed -i 's/\\x1D/GS/g' $1
sed -i 's/\\x1E/RS/g' $1
sed -i 's/\\x1F/US/g' $1
sed -i 's/\\x20//g' $1
sed -i 's/\\x21/!/g' $1
sed -i 's/\\x22/"/g' $1
sed -i 's/\\x23/#/g' $1
sed -i 's/\\x24/$/g' $1
sed -i 's/\\x25/%/g' $1
sed -i 's/\\x26/&/g' $1
sed -i 's/\\x27'/g' $1
sed -i 's/\\x28/(/g' $1
sed -i 's/\\x29/)/g' $1
sed -i 's/\\x2A/*/g' $1
sed -i 's/\\x2B/0/g' $1
sed -i 's/\\x2C/,/g' $1
sed -i 's/\\x2D/0/g' $1
sed -i 's/\\x2E/0/g' $1
sed -i 's/\\x2F///g' $1
sed -i 's/\\x30/0/g' $1
sed -i 's/\\x31/1/g' $1
sed -i 's/\\x32/2/g' $1
sed -i 's/\\x33/3/g' $1
sed -i 's/\\x34/4/g' $1
sed -i 's/\\x35/5/g' $1
sed -i 's/\\x36/6/g' $1
sed -i 's/\\x37/7/g' $1
sed -i 's/\\x38/8/g' $1
sed -i 's/\\x39/9/g' $1
sed -i 's/\\x3A/:/g' $1
sed -i 's/\\x3B/;/g' $1
sed -i 's/\\x3C/</g' $1
sed -i 's/\\x3D/=/g' $1
sed -i 's/\\x3E/>/g' $1
sed -i 's/\\x3F/?/g' $1
sed -i 's/\\x40/@/g' $1
sed -i 's/\\x41/A/g' $1
sed -i 's/\\x42/B/g' $1
sed -i 's/\\x43/C/g' $1
sed -i 's/\\x44/D/g' $1
sed -i 's/\\x45/E/g' $1
sed -i 's/\\x46/F/g' $1
sed -i 's/\\x47/G/g' $1
sed -i 's/\\x48/H/g' $1
sed -i 's/\\x49/I/g' $1
sed -i 's/\\x4A/J/g' $1
sed -i 's/\\x4B/K/g' $1
sed -i 's/\\x4C/L/g' $1
sed -i 's/\\x4D/M/g' $1
sed -i 's/\\x4E/N/g' $1
sed -i 's/\\x4F/O/g' $1
sed -i 's/\\x50/P/g' $1
sed -i 's/\\x51/Q/g' $1
sed -i 's/\\x52/R/g' $1
sed -i 's/\\x53/S/g' $1
sed -i 's/\\x54/T/g' $1
sed -i 's/\\x55/U/g' $1
sed -i 's/\\x56/V/g' $1
sed -i 's/\\x57/W/g' $1
sed -i 's/\\x58/X/g' $1
sed -i 's/\\x59/Y/g' $1
sed -i 's/\\x5A/Z/g' $1
sed -i 's/\\x5B/[/g' $1
sed -i 's/\\x5C/\/g' $1
sed -i 's/\\x5D/]/g' $1
sed -i 's/\\x5E/^/g' $1
sed -i 's/\\x5F/_/g' $1
sed -i 's/\\x60/`/g' $1
sed -i 's/\\x61/a/g' $1
sed -i 's/\\x62/b/g' $1
sed -i 's/\\x63/c/g' $1
sed -i 's/\\x64/d/g' $1
sed -i 's/\\x65/e/g' $1
sed -i 's/\\x66/f/g' $1
sed -i 's/\\x67/g/g' $1
sed -i 's/\\x68/h/g' $1
sed -i 's/\\x69/i/g' $1
sed -i 's/\\x6A/j/g' $1
sed -i 's/\\x6B/k/g' $1
sed -i 's/\\x6C/l/g' $1
sed -i 's/\\x6D/m/g' $1
sed -i 's/\\x6E/n/g' $1
sed -i 's/\\x6F/o/g' $1
sed -i 's/\\x70/p/g' $1
sed -i 's/\\x71/q/g' $1
sed -i 's/\\x72/r/g' $1
sed -i 's/\\x73/s/g' $1
sed -i 's/\\x74/t/g' $1
sed -i 's/\\x75/u/g' $1
sed -i 's/\\x76/v/g' $1
sed -i 's/\\x77/w/g' $1
sed -i 's/\\x78/x/g' $1
sed -i 's/\\x79/y/g' $1
sed -i 's/\\x7A/z/g' $1
sed -i 's/\\x7B/{/g' $1
sed -i 's/\\x7C/|/g' $1
sed -i 's/\\x7D/}/g' $1
sed -i 's/\\x7E/~/g' $1
sed -i 's/\\x7F//g' $1
sed -i 's/\\x80/€/g' $1
sed -i 's/\\x81//g' $1
sed -i 's/\\x82/‚/g' $1
sed -i 's/\\x83/ƒ/g' $1
sed -i 's/\\x84/„/g' $1
sed -i 's/\\x85/…/g' $1
sed -i 's/\\x86/†/g' $1
sed -i 's/\\x87/‡/g' $1
sed -i 's/\\x88/ˆ/g' $1
sed -i 's/\\x89/‰/g' $1
sed -i 's/\\x8A/Š/g' $1
sed -i 's/\\x8B/‹/g' $1
sed -i 's/\\x8C/Œ/g' $1
sed -i 's/\\x8D//g' $1
sed -i 's/\\x8E/Ž/g' $1
sed -i 's/\\x8F//g' $1
sed -i 's/\\x90//g' $1
sed -i 's/\\x91/‘/g' $1
sed -i 's/\\x92/’/g' $1
sed -i 's/\\x93/“/g' $1
sed -i 's/\\x94/”/g' $1
sed -i 's/\\x95/•/g' $1
sed -i 's/\\x96/–/g' $1
sed -i 's/\\x97/—/g' $1
sed -i 's/\\x98/˜/g' $1
sed -i 's/\\x99/™/g' $1
sed -i 's/\\x9A/š/g' $1
sed -i 's/\\x9B/›/g' $1
sed -i 's/\\x9C/œ/g' $1
sed -i 's/\\x9D//g' $1
sed -i 's/\\x9E/ž/g' $1
sed -i 's/\\x9F/Ÿ/g' $1
sed -i 's/\\xA0//g' $1
sed -i 's/\\xA1/¡/g' $1
sed -i 's/\\xA2/¢/g' $1
sed -i 's/\\xA3/£/g' $1
sed -i 's/\\xA4/¤/g' $1
sed -i 's/\\xA5/¥/g' $1
sed -i 's/\\xA6/¦/g' $1
sed -i 's/\\xA7/§/g' $1
sed -i 's/\\xA8/¨/g' $1
sed -i 's/\\xA9/©/g' $1
sed -i 's/\\xAA/ª/g' $1
sed -i 's/\\xAB/«/g' $1
sed -i 's/\\xAC/¬/g' $1
sed -i 's/\\xAD//g' $1
sed -i 's/\\xAE/®/g' $1
sed -i 's/\\xAF/¯/g' $1
sed -i 's/\\xB0/°/g' $1
sed -i 's/\\xB1/±/g' $1
sed -i 's/\\xB2/²/g' $1
sed -i 's/\\xB3/³/g' $1
sed -i 's/\\xB4/´/g' $1
sed -i 's/\\xB5/µ/g' $1
sed -i 's/\\xB6/¶/g' $1
sed -i 's/\\xB7/·/g' $1
sed -i 's/\\xB8/¸/g' $1
sed -i 's/\\xB9/¹/g' $1
sed -i 's/\\xBA/º/g' $1
sed -i 's/\\xBB/»/g' $1
sed -i 's/\\xBC/¼/g' $1
sed -i 's/\\xBD/½/g' $1
sed -i 's/\\xBE/¾/g' $1
sed -i 's/\\xBF/¿/g' $1
sed -i 's/\\xC0/À/g' $1
sed -i 's/\\xC1/A/g' $1
sed -i 's/\\xC2/Â/g' $1
sed -i 's/\\xC3/Ã/g' $1
sed -i 's/\\xC4/Ä/g' $1
sed -i 's/\\xC5/Å/g' $1
sed -i 's/\\xC6/Æ/g' $1
sed -i 's/\\xC7/Ç/g' $1
sed -i 's/\\xC8/È/g' $1
sed -i 's/\\xC9/E/g' $1
sed -i 's/\\xCA/Ê/g' $1
sed -i 's/\\xCB/Ë/g' $1
sed -i 's/\\xCC/Ì/g' $1
sed -i 's/\\xCD/I/g' $1
sed -i 's/\\xCE/Î/g' $1
sed -i 's/\\xCF/Ï/g' $1
sed -i 's/\\xD0/Ð/g' $1
sed -i 's/\\xD1/Ñ/g' $1
sed -i 's/\\xD2/Ò/g' $1
sed -i 's/\\xD3/O/g' $1
sed -i 's/\\xD4/Ô/g' $1
sed -i 's/\\xD5/Õ/g' $1
sed -i 's/\\xD6/O/g' $1
sed -i 's/\\xD7/×/g' $1
sed -i 's/\\xD8/Ø/g' $1
sed -i 's/\\xD9/Ù/g' $1
sed -i 's/\\xDA/U/g' $1
sed -i 's/\\xDB/Û/g' $1
sed -i 's/\\xDC/U/g' $1
sed -i 's/\\xDD/Ý/g' $1
sed -i 's/\\xDE/Þ/g' $1
sed -i 's/\\xDF/ß/g' $1
sed -i 's/\\xE0/à/g' $1
sed -i 's/\\xE1/a/g' $1
sed -i 's/\\xE2/â/g' $1
sed -i 's/\\xE3/ã/g' $1
sed -i 's/\\xE4/ä/g' $1
sed -i 's/\\xE5/å/g' $1
sed -i 's/\\xE6/æ/g' $1
sed -i 's/\\xE7/ç/g' $1
sed -i 's/\\xE8/è/g' $1
sed -i 's/\\xE9/e/g' $1
sed -i 's/\\xEA/ê/g' $1
sed -i 's/\\xEB/ë/g' $1
sed -i 's/\\xEC/ì/g' $1
sed -i 's/\\xED/i/g' $1
sed -i 's/\\xEE/î/g' $1
sed -i 's/\\xEF/ï/g' $1
sed -i 's/\\xF0/ð/g' $1
sed -i 's/\\xF1/ñ/g' $1
sed -i 's/\\xF2/ò/g' $1
sed -i 's/\\xF3/o/g' $1
sed -i 's/\\xF4/ô/g' $1
sed -i 's/\\xF5/õ/g' $1
sed -i 's/\\xF6/o/g' $1
sed -i 's/\\xF7/÷/g' $1
sed -i 's/\\xF8/ø/g' $1
sed -i 's/\\xF9/ù/g' $1
sed -i 's/\\xFA/u/g' $1
sed -i 's/\\xFB/û/g' $1
sed -i 's/\\xFC/u/g' $1
sed -i 's/\\xFD/ý/g' $1
sed -i 's/\\xFE/þ/g' $1
sed -i 's/\\xFF/\ÿ/g' $1

一般的な文字変換器の16進コードを作成するには?だから私が実行した場合:

sh thementionedscript.sh hexstrings.txt

-->> hexstrings.txtのすべての16進数文字は通常の文字に変換する必要があります。例:前:

\x68\x69

後ろに:

hi

ベストアンサー1

存在するbash

#!/bin/bash

while IFS= read -r line; do
    printf "$line"
done

IFS=IFSストリッピングが発生しないようにする必要があります。つまり、ほとんどの場合(IFSには標準の空白が含まれています)、IFSを空白のままにしないと、参照の"${line}"有無にかかわらず両方のスペースが削除されます。-r読み取りオプションはバックスペースの解釈を停止します。

これは、ソースコードに存在する可能性がある他のエスケープコードも考えていることに注意してください。これが心配な場合は、ファイルを文字ごとに読み、printf が \x エスケープコードでのみ機能するようにしてください。

あなたはする必要がありますいつも一時ファイルを使用するので、次のように実行します。

./foo < myfile > mytempfile && mv mytempfile myfile

また、ファイルの編集には使用しないでくださいsed -i。移植性がなく、実装によって構文が異なります(たとえば、コードはMac OSXとほとんどのBSDで失敗します)。edファイル編集のためのより良い選択です。

おすすめ記事