in reply to increment record number

Two options:
  1. Reserve a line in your file to store the 'next record number'. Increment this number for each record you add.
  2. You'll just have to read through the file and either:
    • Parse each record, retrieve the record number, and keep track of the largest number you see. Increment and use that as your new record number. This is probably the safest approach.
    • If you're guaranteed to have the same number of records as lines in the file (i.e. you won't be deleting lines without renumbering), you can just count the lines and add 1.
Either way, you're looking at potential problems if multiple processes attempt to update the file at the same time, so look into flock or some equivalent to be sure only one update is done at a time.