Splitting large log filesEdit
With BSD split
You can do this with the split utility that comes with macOS:
split -b 25m backfill-reactions-500000-1000000-write.log
- Splits the specified log file into chunks of 25m bytes, creating files named
xaa,xabetc. - Note: This will cut the files at exactly 25m bytes, even if that means slicing a line in half.
With GNU split
GNU split (available on macOS as gsplit via brew install coreutils) provides more options that can be used to produce prettier filenames, and additionally avoid cutting lines midway through (via the -C switch):
gsplit -C 25m -a 3 \
--numeric-suffixes \
--additional-suffix=.log \
backfill-reactions-500000-1000000-write.log \
backfill-reactions-500000-1000000-write-part-
- Makes
backfill-reactions-500000-1000000-write-part-000.log,backfill-reactions-500000-1000000-write-part-001.logetc. - Note the
-aflag, which in our example bumps the numeric prefix length up from the default (2) to 3; without this, if you have to produce a lot of chunks things will start to get really weird at the 100th chunk.