我正在使用 find 命令列出名称包含字符串的文件:
find ~/ -type f -name "*inductive*"
我想使用管道对生成的文件列表进行排序。我希望能够按文件大小、创建日期、访问日期进行排序...我该怎么做?谢谢。
答案1
在 Linux 中按创建时间对输出进行排序是不可能的(ctime
不是文件创建日期)。stat
能够显示文件的出生时间使用%w
和%W
格式标签,但它们总是分别显示-
和0
,即使在存储创建时间/出生时间的文件系统上也是如此。因此,在 Linux 上,它实际上对此毫无用处。
不过,另外两种排序顺序也是可能的:
# Sort by size:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 5 -n
# Sort by access time:
find ~/ -type f -name "*inductive* -exec ls -ltu {} \; | sort -k 6 -M
您可以添加-r
标志来sort
反转排序顺序。man sort
有关更多信息,请参阅。
根据 的输出大小find
,可能需要一些时间来sort
生成排序的输出。