<p><code>GNU sed version 4.1.5</code> seems to fail with International chars. Here is my input file:</p>

<pre><code>Gras Och Stenar Trad - From Moja to Minneapolis DVD [G2007DVD] 7812 | X
&lt;br&gt;
Gras Och Stenar Trad - From Möja to Minneapolis DVD [G2007DVD] 7812 | Y
</code></pre>

<p>(Note the umlaut in the second line.)</p>

<p>And when I do</p>

<pre><code>sed 's/.*| //' &lt; in
</code></pre>

<p>I would expect to see only the <code>X</code> and <code>Y</code>, as I've asked to remove ALL chars up to the <code>'|'</code> and space beyond it. Instead, I get:</p>

<pre><code>X&lt;br&gt;
Gras Och Stenar Trad - From M? Y
</code></pre>

<p>I know I can use tr to remove the International chars. first, but is there a way to just use sed?</p>

```
sed
```
is not very well setup for non-ASCII text. However you can use (almost) the same code in
```
perl
```
and get the result you want:
```
```
perl -pe 's/.*\| //' x
```
```