给定一个类似于此的xxd六转储:
00000000: 1f8b 0808 4920 2258 0003 7069 6c6c 6f77 ....I "X..pillow
00000010: 2e74 7874 00d3 d707 8218 10d0 2799 c545 .txt........'..E
00000020: ba96 41a1 994c 7d60 d650 d53c 44a3 8a22 ..A..L}`.P.<D.."
00000030: cd43 34aa 28d2 3c44 a38a 22cd 4334 aa28 .C4.(.<D..".C4.(
00000040: d20c 00fd 512d 46b8 0500 00 ....Q-F....将其反转以生成原始输入:
I "Xpillow.txt����'��E��A��L}`�P�<D��"�C4�(�<D��"�C4�(�
�Q-F�(这只是原始输入的近似)
您不需要扩展到外壳代码。
这不是另一个xxd六转储挑战的副本,因为这个挑战不会被扩展为外壳代码。
xxd)。发布于 2016-11-09 05:34:04
ÎdW40|D
Í üî
Ó../<C-v><C-v>x&
éiD@"在网上试试!
注意,<C-v>表示不可打印的字符0x16。
这个答案非常有趣,因为它是关于将输入修改为V代码,然后执行该代码。我会逐一解释每个命令
Î " On every line:
dW " Delete a word
40| " Move to the 40th column
D " Delete everything after this
Í " Remove all occurrences of
" A space
üî " or a newline现在,缓冲区如下所示:
1f8b080849202258000370696c6c6f772e74787400d3d707821810d02799c545ba9641a1994c7d60d650d53c44a38a22cd4334aa28d23c44a38a22cd4334aa28d20c00fd512d46b8050000通过十六进制值插入字符的命令是
<C-v>x<hex-value>这里我们开始把它转换成实际的V码。
Ó " Replace
.. " Two characters
/ " with
<C-v><C-v>x " the text "<C-v>x"
& " And the two characters we just matched
<C-v>x1fi<C-v>x8bi<C-v>x08i<C-v>x08i<C-v>x49...但是命令必须处于插入模式。所以我们在开头插入一个'i‘。
éi " Insert an 'i'
D " Delete this line
@" " And evaluate it as V codehttps://codegolf.stackexchange.com/questions/99115
复制相似问题