本文目录导读:

按修改时间排序(最常用)
Linux/Mac 版本
#!/bin/bash
# 按修改时间排序(最新的在前)
ls -lt
# 按修改时间排序(最旧的在前)
ls -ltr
# 只显示文件名和修改时间
ls -lt | awk '{print $6, $7, $8, $9}'
# 递归显示所有文件
ls -ltR
# 按时间排序并显示详细格式
ls -l --time-style=long-iso -t
Windows CMD
@echo off :: 按修改时间排序(最新的在前) dir /O-D :: 按修改时间排序(最旧的在前) dir /OD :: 按创建时间排序 dir /O-D /T:C :: 递归显示所有文件 dir /S /O-D
Windows PowerShell
# 按修改时间排序(最新的在前)
Get-ChildItem | Sort-Object LastWriteTime -Descending
# 按修改时间排序(最旧的在前)
Get-ChildItem | Sort-Object LastWriteTime
# 按创建时间排序
Get-ChildItem | Sort-Object CreationTime -Descending
# 详细格式输出
Get-ChildItem | Sort-Object LastWriteTime -Descending |
Format-Table Name, LastWriteTime, Length -AutoSize
Python 脚本(跨平台)
#!/usr/bin/env python3
import os
import glob
from pathlib import Path
# 按修改时间排序
def sort_by_mtime(path="."):
files = []
for f in glob.glob(os.path.join(path, "*")):
if os.path.isfile(f):
mtime = os.path.getmtime(f)
files.append((mtime, f))
# 按时间排序(最新的在前)
files.sort(reverse=True)
return files
# 使用示例
files = sort_by_mtime()
for mtime, filepath in files:
print(f"{time.ctime(mtime)} - {filepath}")
# 更现代的版本使用 pathlib
from pathlib import Path
from datetime import datetime
def sort_files_by_time(directory="."):
path = Path(directory)
files = [f for f in path.iterdir() if f.is_file()]
# 按修改时间排序
sorted_files = sorted(files, key=lambda f: f.stat().st_mtime, reverse=True)
for f in sorted_files:
mtime = datetime.fromtimestamp(f.stat().st_mtime)
print(f"{mtime.strftime('%Y-%m-%d %H:%M:%S')} - {f.name}")
sort_files_by_time()
高级功能脚本
按时间排序并按扩展名过滤
#!/usr/bin/env python3
import os
from datetime import datetime
from pathlib import Path
def sort_files_by_time_with_filter(directory=".", extensions=None,
sort_by="mtime", reverse=True):
"""
按时间排序文件,支持过滤
Args:
directory: 目录路径
extensions: 文件扩展名列表,如 ['.txt', '.py']
sort_by: 排序依据 ('mtime', 'ctime', 'atime')
reverse: True为最新在前,False为最旧在前
"""
path = Path(directory)
files = []
for f in path.iterdir():
if f.is_file():
# 过滤扩展名
if extensions and f.suffix.lower() not in extensions:
continue
# 获取时间戳
stat = f.stat()
if sort_by == "mtime":
timestamp = stat.st_mtime
elif sort_by == "ctime":
timestamp = stat.st_ctime
elif sort_by == "atime":
timestamp = stat.st_atime
else:
timestamp = stat.st_mtime
files.append((timestamp, f))
# 排序
files.sort(reverse=reverse)
return files
# 使用示例
# 查找所有Python文件,按修改时间排序
python_files = sort_files_by_time_with_filter(
directory=".",
extensions=['.py', '.txt'],
sort_by="mtime",
reverse=True
)
for timestamp, filepath in python_files:
dt = datetime.fromtimestamp(timestamp)
print(f"{dt.strftime('%Y-%m-%d %H:%M:%S')} - {filepath.name}")
递归处理子目录
#!/usr/bin/env python3
from pathlib import Path
from datetime import datetime
def recursive_sort_files(root_dir=".", pattern="*"):
"""
递归查找文件并按时间排序
Args:
root_dir: 根目录
pattern: 文件模式,如 "*.txt"
"""
files = []
for f in Path(root_dir).rglob(pattern):
if f.is_file():
mtime = f.stat().st_mtime
files.append((mtime, f))
# 按修改时间排序(最新的在前)
files.sort(reverse=True)
return files
# 使用示例
files = recursive_sort_files(".", "*.log")
for mtime, filepath in files:
dt = datetime.fromtimestamp(mtime)
print(f"{dt.strftime('%Y-%m-%d %H:%M:%S')} - {filepath}")
使用 find 命令(Linux/Mac)
# 查找文件并按时间排序
find . -type f -printf '%T@ %p\n' | sort -rn
# 格式化输出
find . -type f -printf '%T@ %p\n' | sort -rn |
while read timestamp file; do
date -d @$(printf "%.0f" $timestamp) '+%Y-%m-%d %H:%M:%S'
echo " - $file"
done
# 限制文件数量(显示最近10个)
find . -type f -printf '%T@ %p\n' | sort -rn | head -10
实用工具脚本
自动清理旧文件
#!/bin/bash
# 删除30天前的文件
find /path/to/directory -type f -mtime +30 -delete
# 将7天前的文件移动到归档目录
find /path/to/source -type f -mtime +7 -exec mv {} /path/to/archive/ \;
# 移动最近修改的文件到工作目录
find /path/to/source -type f -mtime -1 -exec cp {} /path/to/workdir/ \;
监控文件变化
#!/bin/bash
# 实时监控目录变化
inotifywait -m /path/to/watch -e create -e modify -e delete |
while read path action file; do
echo "The file '$file' appeared in directory '$path' via '$action'"
done
# 使用 while 循环持续检查新文件
while true; do
latest_file=$(ls -t | head -1)
echo "Latest file: $latest_file"
sleep 5 # 每5秒检查一次
done
使用建议
- 简单需求:使用
ls -lt或dir /O-D - 跨平台:使用 Python 脚本
- 复杂过滤:使用 Python 或 find 命令
- 自动化任务:使用 bash 脚本配合 cron 定时任务
选择最适合你场景的实现方式即可。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播