本文目录导读:

删除文件开头的固定字节数
#!/bin/bash
# 删除文件开头指定字节数(删除前100字节)
HEADER_SIZE=100 # 要删除的字节数
# 批量处理当前目录下所有.txt文件
for file in *.txt; do
if [ -f "$file" ]; then
echo "处理文件: $file"
# 跳过前HEADER_SIZE字节,将剩余内容写入临时文件
tail -c +$((HEADER_SIZE+1)) "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已完成"
fi
done
删除文件开头的固定行数
#!/bin/bash
# 删除文件开头的指定行数(删除前10行)
LINE_COUNT=10 # 要删除的行数
# 批量处理当前目录下所有.py文件
for file in *.py; do
if [ -f "$file" ]; then
echo "处理文件: $file"
# 跳过前10行,将剩余内容写入临时文件
tail -n +$((LINE_COUNT+1)) "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已完成"
fi
done
删除到指定标记(如删除到 "BEGIN_DATA")
#!/bin/bash
# 删除文件开头直到包含指定标记的行
MARKER="BEGIN_DATA" # 删除到此标记之前的内容(包含标记行)
for file in *.dat; do
if [ -f "$file" ]; then
echo "处理文件: $file"
# 找到标记行的行号
LINE_NUM=$(grep -n "^$MARKER" "$file" | head -1 | cut -d: -f1)
if [ -n "$LINE_NUM" ]; then
# 从标记行开始保留
tail -n +$LINE_NUM "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已删除到第 $LINE_NUM 行(保留标记行)"
else
echo "✗ 未找到标记: $MARKER"
fi
fi
done
删除二进制文件的特定头部
#!/usr/bin/env python3
# 批量删除二进制文件头部信息
import os
import glob
# 配置
HEADER_SIZE = 1024 # 要删除的字节数
FILE_PATTERN = "*.bin" # 文件模式
# 批量处理文件
for filepath in glob.glob(FILE_PATTERN):
try:
with open(filepath, 'rb') as f:
content = f.read()
# 删除头部
new_content = content[HEADER_SIZE:]
# 写回文件
with open(filepath, 'wb') as f:
f.write(new_content)
print(f"✓ 已处理: {filepath}")
except Exception as e:
print(f"✗ 处理失败: {filepath} - {str(e)}")
交互式批量删除工具
#!/bin/bash
# 交互式批量删除文件头工具
show_menu() {
echo "===== 批量删除文件头工具 ====="
echo "1) 按字节数删除"
echo "2) 按行数删除"
echo "3) 删除到指定标记"
echo "4) 退出"
echo "=============================="
}
# 主程序
while true; do
show_menu
read -p "请选择操作: " CHOICE
case $CHOICE in
1)
read -p "请输入要删除的字节数: " BYTES
read -p "请输入文件类型(如 *.txt): " PATTERN
for file in $PATTERN; do
if [ -f "$file" ]; then
tail -c +$((BYTES+1)) "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已处理: $file"
fi
done
;;
2)
read -p "请输入要删除的行数: " LINES
read -p "请输入文件类型(如 *.txt): " PATTERN
for file in $PATTERN; do
if [ -f "$file" ]; then
tail -n +$((LINES+1)) "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已处理: $file"
fi
done
;;
3)
read -p "请输入标记字符: " MARK
read -p "请输入文件类型(如 *.txt): " PATTERN
for file in $PATTERN; do
if [ -f "$file" ]; then
LINE_NUM=$(grep -n "$MARK" "$file" | head -1 | cut -d: -f1)
if [ -n "$LINE_NUM" ]; then
tail -n +$LINE_NUM "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已处理: $file"
fi
fi
done
;;
4)
echo "再见!"
exit 0
;;
*)
echo "无效选择"
;;
esac
echo ""
done
带备份功能的删除脚本
#!/bin/bash
# 带备份功能的批量删除文件头
BACKUP_DIR="backup_$(date +%Y%m%d_%H%M%S)"
mkdir -p "$BACKUP_DIR"
HEADER_SIZE=100 # 要删除的字节数
for file in *.txt; do
if [ -f "$file" ]; then
# 备份原文件
cp "$file" "$BACKUP_DIR/$file.bak"
# 删除头部
tail -c +$((HEADER_SIZE+1)) "$file" > "$file.tmp"
mv "$file.tmp" "$file"
echo "✓ 已处理: $file (备份在 $BACKUP_DIR)"
fi
done
echo "处理完成!备份目录: $BACKUP_DIR"
使用方法
- 选择适合的脚本:根据需求选择对应功能的脚本
- 修改配置:调整脚本中的参数(字节数、行数、文件类型等)
- 测试运行:建议先在test目录测试
- 正式使用:确认无误后在目标目录运行
注意事项
- ⚠️ 备份原文件:操作前务必备份重要数据
- ⚠️ 先在样本测试:建议先在少量文件上测试
- ⚠️ 确认编码:处理文本文件时注意编码格式
- ⚠️ 权限问题:确保对文件有读写权限
需要更具体的功能或对某个脚本进行修改,请告诉我!
版权声明: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直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播