title: How can I cut only some lines, while leaving others unprocessed?
body: <p>I want to tail a log file that has a format similar to</p>
  
  <pre><code>Mar 22 23:26:18.793031 localhost my_process[1123]: (my_id) contents of actual log output
  Mar 22 23:26:18.946769 localhost my_process[1123]: (my_id) more singe line contents
  Mar 22 23:26:18.955423 localhost my_process[1123]: (my_id) 
  ****
  * this log statement has a bunch of lines
  ****
  </code></pre>
  
  <p>I want to cut a lot of the junk out of these lines so that they aren't so long. However, I only want to cut the lines that start with the date etc, while leaving other lines alone. It should look something like:</p>
  
  <pre><code>23:26:18 my_process[1123]: contents of actual log output
  23:26:18 my_process[1123]: more singe line contents
  23:26:18 my_process[1123]:  
  ****
  * this log statement has a bunch of lines
  ****
  </code></pre>
  
  <p>This is the pipeline I have going, but it is cutting all lines.</p>
  
  <pre><code># first cut out the unwanted fields
  # then cut out the unwanted decimal part of the timestamp
  tail -f mylog.txt | cut -d " " -f 3,5,7- | cut -c 1-8,16-
  </code></pre>
  
  <p>Is there a way I could look for the lines that don't begin with that common date pattern and just let those lines through unprocessed?</p>
  
  <p>Thanks</p>