私のLinuxコンピュータにファイルがあります。
1234 | 456 |"abc | xyz"| fid|
|
その間にあるwhichをカンマに変更したいと思います。" "
abcとxyzの間にはパイプのみがあります。この行は同様の行を含むファイルの一部ですが、「」の中には1つしかありません。誰でも助けることができますか?
ベストアンサー1
echo '1234 | 456 |"abc | xyz"| fid|' | \
sed 's/\([^|]*|[^|]*|[^|]*\)|/\1,/'
これを作ります。
1234 | 456 |"abc , xyz"| fid|
このsedラインは、パイプ以外のもの、パイプ、パイプ以外のもの、パイプ、パイプ以外のものを見つける方法で動作します。これ逆参照から除外された関心パイプです。すべてを逆参照に変更し、最後のパイプをコンマに置き換えます。残りの行は変更されません。