$ sed -i does not change the file in place
<p>I want remove the first two characters from a text file using sed utility. I want to do that (in place).</p>

<p>I try the followings but, it does not work:</p>

<pre><code>$ sed -i 's/.{2}//' C:/Users/User/Desktop/text1.txt
$ sed -i -e 's/.{2}//' C:/Users/User/Desktop/text1.txt
$ sed -i'' 's/.{2}//' C:/Users/User/Desktop/text1.txt
</code></pre>

<p>It only works if I want a backup:</p>

<pre><code>sed -i.bak -r 's/.{2}//' C:/Users/User/Desktop/text1.txt
</code></pre>

<p>or replace it in another file:</p>

<pre><code>$ sed -r 's/.{2}//' C:/Users/User/Desktop/text1.txt &gt; C:/Users/User/Desktop/text2.txt
</code></pre>

<p>if I type:</p>

<pre><code>$ sed -i''
</code></pre>

<p>I got:</p>

<pre><code>-i[SUFFIX], --in-place[=SUFFIX]
                 edit files in place (makes backup if SUFFIX supplied)
</code></pre>

<p>What should be in [SUFFIX]?</p>

<p><strong>Note:</strong>
<strong>I want the replacement to be done on the original file and I do not like to have a backup file.</strong>
Thanks</p>