如何从 Unix 中的管道分隔文件中删除最后一个管道分隔符?

如何从 Unix 中的管道分隔文件中删除最后一个管道分隔符?

如何从 Unix 中的管道分隔文件中删除最后一个管道分隔符?

我的输入行如下所示:

1|GAbriel|10 ground floor|naik Badi|trend|account|detail|hints||||||

预期输出是:

1|GAbriel|10 ground floor|naik Badi|trend|account|detail|hints|||||

我只需要消除每个记录末尾连续管道中的最后一个管道。

答案1

尝试sed 's/|$//' filename。并且一定要阅读 的手册页sed

答案2

sed

sed -e 's/|$//' file

awk

awk -F '|' 'NF--' OFS='|' file

相关内容