我正在使用Catfish查找包含特定文本的文件。找到的一些文件而不是纯文本包含的东西看起来像十六进制转储:
var width = divs.eq(currentDiv).width()+100;
$(".books-pages").css("transform" , "rotate(0)");
$(".main-menu").parent().css("transform" , "translateX("+width+"px)");
var menu = $(".main-menu").clone();
$("."+id).css("transform" , "translateX("+-width+"px)");
即。总是8列,每行包含16个字节。上面的第一行应该是
<?php function
是否有命令 unhex 该文件并打印内容?
答案 0 :(得分:6)
将xxd
与还原选项-r
xxd -p -r file.txt
给出
的结果<?php
function user_exists($un) {
return true;
}
?>
答案 1 :(得分:3)
使用bash:
for block in $(cat file); do
[[ $block =~ (..)(..) ]] && echo -en "\x${BASH_REMATCH[1]}\x${BASH_REMATCH[2]}"
done
输出:
<?php
function user_exists($un) {
return true;
}
?>
答案 2 :(得分:0)
echo -e "$(sed -r 's@\s*([a-f0-9][a-f0-9])\s*@\\U\1@g' < test.txt | tr -d '\n')"
sed正则表达式从匹配的开头和结尾捕获两个十六进制字符和零个或多个空格的对偶,并将其转换为unicode字符删除空格(g是全局sostitution和-r enable extended regex) 强>
删除文件中的换行符
echo -e将unicode转换为ascii字符