od命令的使用

od (octal dump)和 xd(hexdump)命令可以以十进制、八进制、十六进制和ASCII码来显示文件或者流,它们对于访问或可视地检查文件中不能直接显示在终端上的字符很有用。
语法:od [选项] 文件…
命令中各选项的含义:
– A 指定地址基数,包括:
d 十进制
o 八进制(系统默认值)
x 十六进制
n 不打印位移值
– t 指定数据的显示格式,主要的参数有:
c ASCII字符或反斜杠序列
d 有符号十进制数
f 浮点数
o 八进制(系统默认值为02)
u 无符号十进制数
x 十六进制数
除了选项c以外的其他选项后面都可以跟一个十进制数n,指定每个显示值所包含的字节数。

说明:od命令系统默认的显示方式是八进制,这也是该命令的名称由来(Octal Dump)。但这不是最有用的显示方式,用ASCII码和十六进制组合的方式能提供更有价值的信息输出。

od -h 文件名

我写过一个下载歌曲的脚本: http://forum.ubuntu.org.cn/viewtopic.php?p=744693#744693

在一段:

#把中文转换成16进制数字和字母不变
a=`echo “$musicname” | iconv -c -f utf-8 -t gb2312 | LANG=C sed ‘s/./&\n/g’ | sed -n ‘$!l’ |
while read str;do
str=${str%$}
if [ ${#str} -eq 3 ];then
printf “%%%X” “0${str}”
elif [ “X${str}” == “X” ];then
echo -n ‘%20’
else
echo -n $str
fi
done
echo`

到现在也不没明白它的原理

如果用od命令的话就简单多了:

a=`echo “$musicname” | od -t x1 -A n |tr ” ” %`

 
od命令的使用

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.