code: def _parse_args(args):
      
  
      # parser uses custom usage string, with 'usage: ' removed, as it is
      # added automatically via argparser.
      parser = argparse.ArgumentParser(description="Remove and/or rearrange "
                                       + "sections from each line of a file(s).",
                                       usage=_usage()[len('usage: '):])
      parser.add_argument('-b', "--bytes", action='store', type=lst, default=[],
                          help="Bytes to select")
      parser.add_argument('-c', "--chars", action='store', type=lst, default=[],
                          help="Character to select")
      parser.add_argument('-f', "--fields", action='store', type=lst, default=[],
                          help="Fields to select")
      parser.add_argument('-d', "--delimiter", action='store', default="\t",
                          help="Sets field delimiter(default is TAB)")
      parser.add_argument('-e', "--regex", action='store_true',
                          help='Enable regular expressions to be used as input '+
                          'delimiter')
      parser.add_argument('-s', '--skip', action='store_true',
                          help="Skip lines that do not contain input delimiter.")
      parser.add_argument('-S', "--separator", action='store', default="\t",
                          help="Sets field separator for output.")
      parser.add_argument('file', nargs='*', default="-",
                          help="File(s) to cut")
  
      return parser.parse_args(args)
docs: Setup argparser to process arguments and generate help