Unix 如何计算今天创建的文件中的行数
嗯,我正在尝试列出今天创建的文件数量,并计算这些文件中的行数。我必须在unix中执行此操作。请建议如何为此编写脚本。要查找行数,请执行以下操作:Unix 如何计算今天创建的文件中的行数,unix,Unix,嗯,我正在尝试列出今天创建的文件数量,并计算这些文件中的行数。我必须在unix中执行此操作。请建议如何为此编写脚本。要查找行数,请执行以下操作: find/-type f-ctime 0-mtime 0-print0 | xargs-0 wc-l 这几乎就是你想要的。Unix中没有文件创建时间,这是文件状态更改时间和文件修改时间的近似值 如果只想在特定目录中搜索,请将/替换为/path/to/your/dir 要查找文件数,请执行以下操作: find/-type f-ctime 0-mtime
find/-type f-ctime 0-mtime 0-print0 | xargs-0 wc-l
这几乎就是你想要的。Unix中没有文件创建时间,这是文件状态更改时间和文件修改时间的近似值
如果只想在特定目录中搜索,请将/
替换为/path/to/your/dir
要查找文件数,请执行以下操作:
find/-type f-ctime 0-mtime 0 | wc-l
很难确定何时可靠地创建了文件。mtime是修改时的时间,ctime是更改inode数据时的时间(例如更改权限),atime是上次访问文件数据时的时间。通常,mtime是创建时间的代理;创建文件时,它会记录创建时间(与ctime和atime一样),但如果随后修改了文件,则mtime会记录上次修改文件内容的时间
find . -mtime -1 -print0 | xargs -0 wc -l
查找当前目录下修改时间小于24小时的所有文件,并将名称发送到“wc-l”-允许在文件名中使用空格和其他奇数字符。这将查找在过去24小时内修改的/path
中的文件(-type f
)(-mtime-1
表示在过去1天内修改过)并运行wc-l
计算行数。{}
是文件名的占位符,+
表示将所有文件名传递给wc
的单个调用
find /path -mtime -1 -type f -exec wc -l {} +
请注意,其他答案中建议的-ctime
是更改时间,而不是创建时间。这是文件的所有者、组、链接计数、模式等的最后一次更改。Unix不跟踪文件的创建时间
find . -maxdepth 1 -daystart -ctime 0 -type f | xargs wc -l
如果需要深入查看,则需要更改
maxdepth
参数值。要计算今天更改的文件数:
find . -daystart -type f -ctime -1 | wc -l
find
查找当前目录(
)中的所有文件(-type f
)(-ctime
),这些文件是从这一天开始(-daystart
)起一天以上(-daystart
)最近(-ctime
)创建的*。wc
统计-find
输出中的行数(-l
)
要计算这些文件中的行数,请执行以下操作:
find -daystart -type f -ctime -1 -print0 | wc -l --files0-from=-
第一部分相同,只是find
使用空(-print0
)分隔文件名。wc
在其标准输入(-
)上计算空分隔文件(-files0 from=
)中的行(-l
)
*
ctime
实际上不是创建时间,而是文件状态上次更改的时间。我认为文件系统不会保留实际创建时间。你的答案和写作风格与我惊人地相似。你的代表和徽章也是如此。