dc:' \' (0134)未实现

时间:2015-07-29 21:54:24

标签: regex bash awk sed dc

我正在使用涉及dc的混淆技术。如果你管道一条没有反斜杠的小线,你可以得到这个。

root@revolt:~/Working/Bash# cat temp.text
[q]sa[ln0=aln256%Pln256/snlbx]sb806639340302927610462193083720snlbxq

root@revolt:~/Working/Bash# cat temp.text | dc
Hello world.

但是如果你尝试像

那样更大的东西
root@revolt:~/Working/Bash# cat temp.text
[q]sa[ln0=aln256%Pln256/snlbx]sb331832177645759643350464573357407988278700985112761888842542077811521\
080128221484476741215560snlbxq

如果最终在该行上出现反斜杠,则会发生这种情况:

root@revolt:~/Working/Bash# cat temp.text | dc
dc: '\' (0134) unimplemented
Hel���t��root@revolt:~/Working/Bash# 

但是,如果你要运行这个

root@revolt:~/Working/Bash# dc<<<[q]sa[ln0=aln256%Pln256/snlbx]sb331832177645759643350464573357407988278700985112761888842542077811521\
> 080128221484476741215560snlbxq
Hello world.
Hello world.
Hello world.

它运作得很好。上面的示例是键入dc<<<,然后复制并粘贴字符串WITH反斜杠。怪异。

我的问题是这些:

  1. 有没有办法sed / cut / awk / etc。删除反斜杠并放 单行上没有反斜杠的所有行?

  2. 有没有办法帮助dc解释反斜杠?

1 个答案:

答案 0 :(得分:3)

您可以使用BASH字符串操作来处理它:

XCUIElement

s=$(<temp.txt) dc <<< "${s//\\[[:space:]]/}" Hello world. Hello world. Hello world. 将删除"${s//\\[[:space:]]/}"的所有实例,然后从文件数据中删除换行符。