パイプで区切られたファイルがある場合:
1|123|A |Normal Behaviour Exhibit
2|345|B|Embedded|delimiter
3|678|D|dimension 1"
4| | | | nvalue
5| | | |Missing cvalue
| |
すべての項目を置き換えるには、sedやawkなどのUnixツールを使用する必要があります||
。|
上の4行に示すように、記号の間に複数のスペースを含めることができます。
予想出力:
1|123|A |Normal Behaviour Exhibit
2|345|B|Embedded|delimiter
3|678|D|dimension 1"
4|||| nvalue
5||||Missing cvalue
次のコマンドを試しましたが、sed
期待した結果が得られませんでした。
sed 's/| *|/||/g' S.txt > S1.txt
1|123|A |Normal Behavior Exhibit
2|345|B|Embedded|delimiter
3|678|D|dimension 1"
4|| || nvalue
5|| ||Missing cvalue
ベストアンサー1
すべてのsedを使用してください:
$ sed 's/| *|/||/g; s/| *|/||/g' file
1|123|A |Normal Behaviour Exhibit
2|345|B|Embedded|delimiter
3|678|D|dimension 1"
4|||| nvalue
5||||Missing cvalue
または awk を使用してください。
$ awk '{while( sub(/\| +\|/,"||") );} 1' file
1|123|A |Normal Behaviour Exhibit
2|345|B|Embedded|delimiter
3|678|D|dimension 1"
4|||| nvalue
5||||Missing cvalue