B
    18\                 @   s@   d Z ddlZddlZddlZdd Zd	ddZedkr<e  dS )
z.Reverse grep.

Usage: rgrep [-i] pattern file
    Nc           
   C   s  d} d}t  tjdd  d\}}x"|D ]\}}|dkr(|tjB }q(W t|dk rZtd t|dkrntd |\}}yt||}W n0 tjk
r }	 ztd	|	  W d d }	~	X Y nX yt	|}
W n4 t
k
r }	 ztd
||	f d W d d }	~	X Y nX |
dd |
 }d }x|dkrt|| }|| }|
| |
|}|d}~|d krl|d s||d= n|d | |d< |dkr|d }|d= nd }x&t|D ]}||rt| qW qW d S )Ni   r      iz-i   znot enough argumentsz"exactly one file argument requiredzerror in regular expression: %szcan't open %r: %s
)getoptsysargvre
IGNORECASElenusagecompileerroropenIOErrorseektellminreadsplitreversedsearchprint)bufsizeZreflagsoptsargsoapatternfilenameprogmsgfposleftoversizebufferlinesline r*   S/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Tools/scripts/rgrep.pymain   sP    $






r,   r   c             C   s&   t jt _t|  tt t | d S )N)r   stderrstdoutr   __doc__exit)r"   coder*   r*   r+   r   :   s    r   __main__)r   )r/   r   r
   r   r,   r   __name__r*   r*   r*   r+   <module>   s   -
