我有一个 Ubuntu 14.04.5 LTS,里面有很多文件夹和文件。我的目标是找到一些旧文件,我认为我知道它们的命名格式,比如“%A%.csv”或“.csv”或“.xls”。
无论如何,我想以某种方式“展开”所有内容并按时间顺序显示文件名+日期+详细信息(大小等)。
换句话说,无需物理展开所有目录,但从逻辑上讲,我应该使用什么命令将所有文件名及其参数按时间顺序写入 txt 文件?请指教。
我需要的一些示例:
一个文件夹有 140 个子文件夹,每个子文件夹又有 3 个 20 个子文件夹,每个子文件夹都包含文件。最后,您得到了所有文件(文件),我想要的是“展开它们 - 提取所有文件夹外的所有文件并按时间顺序对其进行排序,然后将其名称 + 大小 + 创建数据 + 修改日期写入 txt 文件。无需物理展开即可完成所有操作。
C 盘包含一些文件夹,这些文件夹包含文件和子文件夹等。我想提取所有文件,获取其元数据并将其写入 txt 文件。如何在不实际展开文件夹的情况下执行此操作?
答案1
使用命令。递归查找当前目录中find
以 结尾的所有文件的示例:.csv
find . -name "*.csv" -type f -exec ls -lh {} \; > result.txt
命令细目:
.
: 表示顶级目录,点表示使用该命令的当前目录。-name "*.csv"
:查找以 结尾的所有文件(和目录).csv
。- 类型 f:仅考虑文件。对于仅目录,请使用
d
,对于两者,请删除此部分。 -exec ls -lh {} \;
ls -lh
:对找到的所有文件执行该命令。这将列出有关它们的信息。这里可以使用另一个命令。> results.txt
:将结果写入文件results.txt
而不是打印到屏幕上。
该ls -lh
命令给出与此类似的结果,这也是写入文件的内容: