我有以下文件:
~$ od file.txt
0000000 000012
0000001
我希望能够在bash脚本中确保文件包含这些内容。 我想避免使用perl,并希望使用标准的unix工具,包括od / sed / awk / tr等。
你能推荐一种干净利落的方式吗?
答案 0 :(得分:5)
使用cmp -s
逐字节比较两个文件,不输出任何内容,只设置退出状态。
答案 1 :(得分:3)
如果您知道它们相似,
diff <(xxd file1.txt) <(xxd file2.txt)
是一个穷人的咒语比较。
答案 2 :(得分:0)
如果您处理小文件并希望确保文件内容等于某些预定义的非文本值,并且您不想将文件与某些模板进行比较,则可以使用以下内容:
if [ "`hexdump -e '"%02x"' foo`" = 'deadd00d' ]; then
# Right file content.
else
# File differs.
fi
当然,您可能希望限制hexdump
的输出,以避免输入文件太大而出现问题。