实用脚本能批量排序吗?

wen 实用脚本 10

本文目录导读:

实用脚本能批量排序吗?

  1. 批量重命名文件(按编号排序)
  2. 批量排序文本文件内容
  3. 目录文件批量排序(按大小/日期)
  4. Excel/CSV批量排序
  5. 图片批量排序(按分辨率/创建时间)
  6. 批量排序核心逻辑:
  7. 需要详细方案吗?

是的,实用脚本完全可以批量排序,这里给你几个常用场景的脚本方案,覆盖文件、数据行、图片等不同需求:

批量重命名文件(按编号排序)

# 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文件行」),我可以写一个直接可用的脚本给你。

抱歉,评论功能暂时关闭!