#!/usr/bin/env python3 from datetime import datetime from os import rename from pathlib import Path import re from sys import argv ACCESS_RE = re.compile(' '.join(( r'\S+', r'\S+', r'\S+', r'\[(?P[^:]+):\S+ \S+\]', r'"GET [^ ?]+(\?\S+)? [^"]+"', r'200 [0-9]+', r'"[^"]+(\?\S+)?"', r'"[^"]+"' ))) DATE_FMT = '%d/%b/%Y' def main(paths): for p in paths: with open(p) as f: date = ACCESS_RE.search(f.read()).group('date') date = datetime.strptime(date, DATE_FMT) new_path = Path(p).with_name(date.strftime('%F')) rename(p, new_path) if __name__ == '__main__': main(argv[1:])