title: Python subprocess library: Running grep command from Python
body: <p>I am trying to run grep command from my Python module using the subprocess library. Since, I am doing this operation on the doc file, I am using Catdoc third party library to get the content in a plan text file. I want to store the content in a file. I don't know where I am going wrong but the program fails to generate a plain text file and eventually to get the grep result. I have gone through the error log but its empty. Thanks for all the help. </p>
  
  <pre><code>def search_file(name, keyword):
      #Extract and save the text from doc file
      catdoc_cmd = ['catdoc', '-w' , name, '&gt;', 'testing.txt']
      catdoc_process = subprocess.Popen(catdoc_cmd, stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True)
      output = catdoc_process.communicate()[0]
      grep_cmd = []
      #Search the keyword through the text file
      grep_cmd.extend(['grep', '%s' %keyword , 'testing.txt'])
      print grep_cmd
      p = subprocess.Popen(grep_cmd,stdout=subprocess.PIPE,stderr=subprocess.PIPE, shell=True)
      stdoutdata = p.communicate()[0]
      print stdoutdata
  </code></pre>