本文目录导读:

是的,实用脚本完全可以批量排序,这里给你几个常用场景的脚本方案,覆盖文件、数据行、图片等不同需求:
批量重命名文件(按编号排序)
# Bash脚本 - 按修改时间重命名
#!/bin/bash
count=1
for file in *.txt; do
new_name=$(printf "%03d_%s" $count "$file")
mv "$file" "$new_name"
((count++))
done
批量排序文本文件内容
# Python脚本 - 按行排序多个文件
import os
files = ['data1.txt', 'data2.txt', 'data3.txt']
for f in files:
with open(f, 'r') as infile:
lines = infile.readlines()
with open(f, 'w') as outfile:
outfile.writelines(sorted(lines))
目录文件批量排序(按大小/日期)
# Bash - 按文件大小排序后列表 ls -lS *.log # 按大小降序 ls -ltr *.jpg # 按修改时间升序 # 生成排序后的文件列表 find . -name "*.csv" -printf '%s %p\n' | sort -n | cut -d' ' -f2
Excel/CSV批量排序
# Python + pandas
import pandas as pd
import glob
for file in glob.glob('sales_*.csv'):
df = pd.read_csv(file)
df_sorted = df.sort_values(by=['date', 'amount'], ascending=[True, False])
df_sorted.to_csv(f'sorted_{file}', index=False)
图片批量排序(按分辨率/创建时间)
from PIL import Image
import os, shutil
for img_file in sorted(os.listdir('images/')):
if img_file.endswith('.jpg'):
img = Image.open(f'images/{img_file}')
width, height = img.size
# 按分辨率排序后移动到新目录
shutil.move(f'images/{img_file}',
f'sorted/{width}x{height}_{img_file}')
批量排序核心逻辑:
- 排序依据:文件名、修改时间、文件大小、内容字段、自定义规则
- 输出方式:重命名、移动、覆盖、生成新文件
- 工具组合:
find | sort | xargs管道,或 Python 脚本
需要详细方案吗?
告诉我你的具体场景(「按文件名数字顺序重命名100个PDF」「按日期字段排序CSV文件行」),我可以写一个直接可用的脚本给你。