我在bash中调试一些代码并尝试在python中实现它。但是我无法理解下面这段代码:
echo "CBCC<FCEEFFGGG99@,9CF9EF9" \
| grep -o . \
| while read char; do
printf "%d\n" \'$char;
done
这给出了以下输出:
67 66 67 67 60 70 67 69 69 70 70 71 71 71 57 57 64 44 57 67 70 57 69 70 57
我找不到信息的部分位于 printf 语句中。
\'$char
代表什么,为什么使用它?我怎样才能翻译成python?
非常感谢你的帮助!
答案 0 :(得分:3)
'X
for printf会将X解释为数字
\'X
反斜杠是转义字符,否则你需要关闭引号
ord(X)
应该在python
中做到这一点答案 1 :(得分:1)
反斜杠转义shell中的单引号(否则会启动带引号的字符串)。实际效果是文字单引号粘贴在变量char
的值前面。
答案 2 :(得分:1)
实际上,您打印上述字符串中每个字符的Ascii代码的十进制值。
so \'$ char将接受字符串中的字符
CBCC<FCEEFFGGG99@,9CF9EF9
并替换每个字符以打印其十进制值。