次の不要な文字で区切られた文字列を含むファイルがあります。
<
>
|
- <スペース>
次のようになります。
... > Test Item|Test Item ...
~上...楕円は連続を表します。ファイルは1行だけで構成されます。
文字列を区別するために単一の文字列のみを使用するようにファイルを変更したいと思います。<スペース>性格。たとえば、
... Test Item Test Item ...
私はsed
以前試しました:
sed -e 's/< >*| */|//g' filename
ただし、次のエラーメッセージが返されました。
sed: 0602-404 Function s/< *| */|//g cannot be parsed.
何をすべきか?
ベストアンサー1
次の方法を試してください。
sed -e 's:<>\s\|.*:Replaced:g' filename
結果は次のとおりです。
$ echo "<> |" | sed -e 's:<>\s\|.*:Replaced:g'
Replaced
単に削除するには、Replaced
コマンドからその単語を削除します。
<
記号との間にスペースがある場合は、に>
置き換える必要があります。<>
<\s>
質問を更新した後:
$ cat filename
> Test Item|Test Item
< Test Item|Test Item
$ cat filename | sed -E 's:[<>]\s(.*)\|(.*)$:\1 \2:g'
Test Item Test Item
Test Item Test Item