【发布时间】:2018-01-31 09:35:14
【问题描述】:
我有一个 | 分隔文件,格式如下
U|0|1|10.95|10.95|0|0|0|0| |0| |0| |N|N| |N| |10335790_|1| | |Y|N/A|
V|0|1|12.65|12.65|0|0|0|0| |0| |0| |N|N| |N| |10335790#|1| | |Y|N/A|
P|0|1|15.57|15.57|0|0|0|0| |0| |0| |N|N| |N| |10335790!|1| | |Y|N/A|
我需要删除所有记录的第 20 列的最后一个字符。
“_,#,!”在这种情况下。
预期输出:
U|0|1|10.95|10.95|0|0|0|0| |0| |0| |N|N| |N| |10335790|1| | |Y|N/A|
V|0|1|12.65|12.65|0|0|0|0| |0| |0| |N|N| |N| |10335790|1| | |Y|N/A|
P|0|1|15.57|15.57|0|0|0|0| |0| |0| |N|N| |N| |10335790|1| | |Y|N/A|
如何使用 sed 或 awk 或任何 unix 命令来做到这一点。请注意,这不是一个固定长度的文件,记录的大小可能会有所不同。
【问题讨论】: