【问题标题】:generating md5 checksum recursively and printing it in a text file with md5 , path and file size递归生成 md5 校验和并将其打印到带有 md5 、路径和文件大小的文本文件中
【发布时间】:2020-01-30 21:46:53
【问题描述】:

我正在学习 bash shell 脚本,我已经给了一个任务来递归地获取子目录中的文件并执行 md5 校验和并显示它的文件大小并将其作为文本文件逐行输出。

例如

  • 662c1e24227048e50ae8e9c62b8a60da yolo/happy/README.txt 20kb
  • c2b1cd01a4595c134bca9502f35107de apple/mango/bat/ball/apt.txt 30kb

对于递归我正在使用

找到 /home/kat/sam -type f -print0 | xargs -0 md5sum > /home/kat/tempmd5new.txt

======= 这给了我输出
662c1e24227048e50ae8e9c62b8a60da yolo/happy/README.txt
c2b1cd01a4595c134bca9502f35107de apple/mango/bat/ball/apt.txt

主要问题是我必须使用 find 命令。
提前致谢。

【问题讨论】:

  • 嗨,你现在的状态是什么?什么有效,什么无效?

标签: linux bash shell sh


【解决方案1】:

这会与wc -c 一起执行md5sum,后者会获取字节数,将结果保存到变量中并将其连接到每个文件的单个回显打印中:

find your/path -type f -exec bash -c 'md=$(md5sum "$0"); siz=$(wc -c <"$0"); echo ${md} ${siz}b' {} \;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-19
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 2012-10-20
    • 2014-06-21
    • 2012-05-18
    相关资源
    最近更新 更多