假设我想查找最近给定修改日期的文件库,并根据最新修改日期对列表库进行排序。
例如
find /path/to/files -mtime -15 | xargs -d '\n' -r ls -t
输出:注意:我只会在文件名中注明修改日期以显示其修改日期
/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
/path/to/file_AAA_2018Mar28.dat
/path/to/file_BBB_2018Mar26.dat
然后我想获取那些具有最新修改日期但同一天的文件
例如最终输出:这是从第一个输出的结果中获取的。
/path/to/file_EEE_2018Apr01.dat
/path/to/file_DDD_2018Apr01.dat
/path/to/file_CCC_2018Apr01.dat
答案1
这将做到这一点:
FIND_PATH='/path/to/files'; find "$FIND_PATH" -newermt $(find "$FIND_PATH" -printf '%TY-%Tm-%Td\n' | sort | tail -1)
“内部”find
将以格式打印所有修改日期yyyy-mm-dd
,并且仅打印最新的(| sort | tail -1
)。
“外部”find
只会查找具有此日期的文件。