如何在 Linux 中使用 md5sum 创建递归文件列表并输出到 csv

2024-01-30

我想列出 Ubuntu 中目录和子目录中的文件(最好是 md5sum)并将结果输出到 csv 文件。我希望输出采用以下格式。

文件名、文件路径、文件大小(字节)、创建日期时间 (dd/mm/yyyy hh:mm:ss)、修改日期时间 (dd/mm/yyyy hh:mm:ss)、md5sum

我已经使用了 ls 命令,但似乎可以得到正确的输出。有一个更好的方法吗?

Thanks


创建以下脚本,为给定的文件路径参数输出 CSV 行:

#!/bin/bash
set -eu

filepath=$1
qfilepath=${filepath//\\/\\\\}   # Quote backslashes.
qfilepath=${qfilepath//\"/\\\"}  # Quote doublequotes.

file=${qfilepath##*/}            # Remove the path.

stats=($(stat -c "%s %W %Y" "$filepath"))
size=${stats[0]}
ctime=$(date --date @"${stats[1]}" +'%d/%m/%Y %H:%M:%S')
mtime=$(date --date @"${stats[2]}" +'%d/%m/%Y %H:%M:%S')

md5=$(md5sum < "$filepath")
md5=${md5%% *}                   # Remove the dash.

printf '"%s","%s",%s,%s,%s,%s\n' \
    "$file" "$qfilepath" "$size" "$ctime" "$mtime" $md5

现在用

find /path/to/dir -type f -exec ~/csvline.sh {} \;

请注意,文件系统通常不支持创建时间。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Linux 中使用 md5sum 创建递归文件列表并输出到 csv 的相关文章

  • 在Linux中断上下文中运行用户线程

    我正在编写一些定制的应用程序 并允许更改 Linux 内核中的中断处理程序代码 我有一个用户线程正在等待中断发生 如果发生中断 那么我要做的第一件事就是执行该用户线程 有什么办法让它发挥作用吗 Thanks 创建一个字符设备 这就是内核所做
  • 在 Ubuntu 16.04 上找不到 printf.c

    我最近切换到Ubuntu 16 04 我在用vscode作为 Ubuntu 上的 IDE 我配置了其他语言 但我无法做到这一点C C 我创建c cpp properties json launch json tasks json 当我开始编
  • Linux shell 脚本:十六进制数字到二进制字符串

    我正在 shell 脚本中寻找一些简单的方法来将十六进制数字转换为 0 和 1 字符的序列 Example 5F gt 01011111 是否有任何命令或简单的方法来完成它 或者我应该为其编写一些开关 echo ibase 16 obase
  • Linux 桌面快捷方式和安装图标

    我需要添加什么到我的 spec文件来创建桌面快捷方式并在安装过程中为快捷方式分配一个图标 rpm 如果需要脚本 一个示例将非常有帮助 您在 Linux 下使用 desktop 文件作为图标 图标放置的位置取决于您使用的发行版和桌面环境 由于
  • 让 MongoDB 在 Linux 上监听远程连接

    我已在 Windows 本地计算机上 上成功安装 MongoDB 作为服务 但现在我想将 MongoDb 移动到单独的服务器 所以我将 tarball 解压到网络上的虚拟服务器 运行 Linux 当我从本地计算机使用 PuTTY 连接到服务
  • 如何通过终端运行 JavaScript 脚本?

    例如 如果您要运行 Python 脚本 您可以输入python 文件名 py或者如果你想运行 C 程序制作文件名 then 文件名 你如何做到这一点 js files 另一个答案是 NodeJS Node js 是一个基于 Chrome 的
  • 使用 pandas 将字符串对象转换为 int/float

    import pandas as pd path1 home supertramp Desktop 100 life 180 data csv mydf pd read csv path1 numcigar Never 0 1 5 Ciga
  • 如何在 Mac 上设置默认 shell,例如钓鱼? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我不喜欢重新输入fish每次我启动终端时 我想Fish https en wikipedia org wiki Fish Unix she
  • 信号处理程序有单独的堆栈吗?

    信号处理程序是否有单独的堆栈 就像每个线程都有单独的堆栈一样 这是在 Linux C 环境中 来自 Linux 手册页signal 7 http kernel org doc man pages online pages man7 sign
  • diff 文件仅比较每行的前 n 个字符

    我有2个文件 我们将它们称为 md5s1 txt 和 md5s2 txt 两者都包含a的输出 find type f print0 xargs 0 md5sum sort gt md5s txt 不同目录下的命令 许多文件被重命名 但内容保
  • 在谷歌云上训练神经网络时出现“无法获取路径的文件系统”错误

    我正在使用 Google Cloud 在云上训练神经网络 如下例所示 https cloud google com blog big data 2016 12 how to classify images with tensorflow u
  • 给出 5 个参数,但在终端中只得到 3 个参数

    我想将一个文件传递给一个c 程序 如果我在 IDE 中执行此操作 test string string lt test txt return argc 5 但在终端上我刚刚得到argc 3 看来 这是因为 什么是 lt 意思是 我正在使用
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • ansible 重新启动 2.1.1.0 失败

    我一直在尝试创建一个非常简单的 Ansible 剧本 它将重新启动服务器并等待它回来 我过去在 Ansible 1 9 上有一个可以运行的 但我最近升级到 2 1 1 0 并且失败了 我正在重新启动的主机名为 idm IP 为 192 16
  • Locale.getDefault() 始终返回 en

    unix 机器上的服务器始终使用 en 作为默认区域设置 以下是区域设置输出 LANG en US LC CTYPE C LC NUMERIC C LC TIME C LC COLLATE C LC MONETARY C LC MESSAG
  • 为什么我收到的数据包数据大小大于mss?

    我在两台 PC 上使用 ifconfig ethX mtu 300 修改了 MTU 并使用 netperf 测试网络 我用 WireShark 嗅探了 SYN 数据包中的 MSS 260 但我得到了一些大于 260 的数据包 为什么 嗅探器
  • 拆分字符串以仅获取前 5 个字符

    我想去那个地点 var log src ap kernelmodule 10 001 100 但看起来我的代码必须处理 ap kernelmodule 10 002 100 ap kernelmodule 10 003 101 等 我想使用
  • Unix 命令列出包含字符串但*不*包含另一个字符串的文件

    如何递归查看包含一个字符串且不包含另一个字符串的文件列表 另外 我的意思是评估文件的文本 而不是文件名 结论 根据评论 我最终使用了 find name html exec grep lR base maps xargs grep L ba
  • Import-Csv - 成员已存在问题

    我必须将多个 CSV 文件合并为一个文件 每个 CSV 都有一个标题 其中一列标题是相同的 理想情况下 最终文件 all out csv 必须有一个标头 我运行 PowerShell 代码 Import Csv out 1 result c
  • 为什么我收到“无法进行二进制日志记录”的信息。在我的 MySQL 服务器上?

    当我今天启动 MySQL 服务器并尝试使用以下命令进行一些更改时用于 MySQL 的 Toad http www quest com toad for mysql 我收到此消息 MySQL 数据库错误 无法进行二进制日志记录 消息 交易级别

随机推荐

  • jquery从iframe内容访问iframe id

    我正在尝试用 jquery 做一些事情 我有这样的代码 1 html 在2 html文件中 我正在尝试访问 iframe 容器 id 2 html文件内容
  • Java(Android)WebSocket客户端库[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有一些库可以以不引人注目的方式实现 WebSocket 的使用 显然 有很多库 但我真正寻找的是一个现代的小型库 我通常可以在 Andro
  • jQuery的ajax功能在Android PhoneGap应用程序中不起作用

    我想在移动应用程序中通过ajax访问开放API 它在iPhone中工作正常 但在Android PhoneGap应用程序中不起作用 returning error gt error message null typeerror Result
  • 如何在 selenium 中使用无头 Chrome 启用 JavaScript

    import requests from bs4 import BeautifulSoup from selenium import webdriver from selenium webdriver common keys import
  • 对数深度缓冲器+正交相机

    我正在尝试将对数深度缓冲区与正交相机一起使用 并遇到一些有趣的结果 我在这里构建了一个示例 http jsfiddle net TheJim01 05up96m0 http jsfiddle net TheJim01 05up96m0 左侧
  • 如何使用 python 通过 https 下载 pdf 文件

    我正在编写一个 python 脚本 它将根据 URL 中给出的格式在本地保存 pdf 文件 例如 https Hostname saveReport file name pdf saves the content in PDF file 我
  • 如何使用带有 C++ 内存模型的 Intel TSX?

    我认为 C 尚未涵盖任何类型的事务内存 但 TSX 仍然可以以某种方式适合使用 as if规则 转变为由 C 内存模型控制的东西 那么 成功的 HLE 操作或成功的 RTM 事务会发生什么 说 存在数据竞争 但没关系 并没有多大帮助 因为它
  • 如何在 Cordova 项目上重新加载页面?

    我正在构建一个应用程序 使用聚合物入门套件 https github com PolymerElements polymer starter kit cordova https cordova apache org 包装项目 现在 自从我使
  • 如何从 .NET 应用程序跟踪许多 SQL Server 数据库中的更改?

    Problem 有很多不同的数据库 由许多不同的应用程序直接填充 没有任何通用的应用程序层 数据只能通过SP访问 根据策略 Task 应用程序需要跟踪这些数据库中的更改并在最短的时间内做出反应 可能的解决方案 1 为每个数据库中的每个表创建
  • Scala 中的非尾递归有多有用?

    由于非尾递归调用像 Java 一样使用堆栈帧 因此我会厌倦执行任何超过 1 000 次的递归 因此 我会厌倦将它用于大多数事情 人们真的在 Scala 中使用非尾递归吗 如果是这样 我可以使用什么标准来确定它是否可以是非尾递归 另外 是否计
  • UIBezierPath 点位于路径的一部分

    给定一个任意的UIBezierPath 我正在寻找一种方法来获取该路径长度的一小部分的点 Example UIBezierPath path UIBezierPath bezierPath path moveToPoint CGPointM
  • MySQL - 按多行分组

    我为我的用户进行了在线调查 每次用户回答调查时 我都会在 survey stats 表中捕获他们的详细信息 如下所示 id user id survey id key value 1 10 99 gender male 2 10 99 ag
  • 推荐一个 JPA 单元测试框架

    如何对 JPA 代码进行单元测试 有没有办法自己生成单元测试用例 注意 我很懒 对单元测试代码很陌生 看一下这个 Unitils http www unitils org summary html 这里有一个相关讨论 http www th
  • 我想知道如何对 deeplab-v3+ 进行量化感知训练

    我一直在尝试使用此链接中给出的指南对 Deeplab 进行量化感知训练https github com tensorflow tensorflow tree master tensorflow contrib quantize https
  • 我们可以从应用商店获取唯一的交易ID吗

    我想在首次购买应用程序并从应用程序商店下载应用程序时访问交易 ID 或某些唯一的 ID 这样我就可以使用该唯一 ID 来识别该用户 并将该 ID 发送到我的服务器 可以从应用商店获取吗 您可以从应用内购买中获取唯一的交易 ID 但不能从 i
  • Hibernate 架构在部署时自动删除

    查看问题 例如 this one https stackoverflow com questions 438146 hibernate hbm2ddl auto possible values and what they do rq 1 与
  • XA/JTA 事务:JMS 消息在数据库更改可见之前到达

    上下文是 生产者 JTA 交易PT 既向 JMS 队列发送消息又进行数据库更新 消费者 JTA交易CT 监听同一个队列并在收到消息时读取数据库 应用服务器 WebLogic 数据库 Oracle 我观察到 有时CT还不能看到数据库的变化PT
  • 为什么“is not None”不能与 dataframe.loc 配合使用,但“!= None”却可以正常工作?

    我目前正在使用 Pandas 数据框 我想选择数据框中没有 None 实体属性的所有数据条目 df df loc df entities None 看起来效果很好 但 df df loc df entities is not None 会引
  • 无法关闭 iPhone 中的电子邮件编辑器视图?

    我是 iPhone 开发新手 我创建了一个基于选项卡栏的应用程序 首先 我希望显示电子邮件编辑器 我可以显示它 但取消和发送按钮不起作用 我不知道哪里出了问题 请帮助我 这是我的代码 void viewDidLoad super viewD
  • 如何在 Linux 中使用 md5sum 创建递归文件列表并输出到 csv

    我想列出 Ubuntu 中目录和子目录中的文件 最好是 md5sum 并将结果输出到 csv 文件 我希望输出采用以下格式 文件名 文件路径 文件大小 字节 创建日期时间 dd mm yyyy hh mm ss 修改日期时间 dd mm y