AWK 在一列中用它的一部分替换一个大字符串(切掉它的一部分),并完整地打印所有其他列,保持格式

AWK replace a big string with a part of it in one column (cut a part of it), and print all other columns intact, keeping the formatting

我想用它的一部分替换一个大字符串 - 第 2 列中第二个斜杠“/”中的文本。 还应保持格式。

我的文字是

99-AAA-9999 |  ZZZ/AAA/999999/AAA/99.99.9999                        |            |       9.99 |   99999.99 |
99-AAA-9999 |  ZZZ/AAAA AAAA/999999/AAA/99.99.9999                  |            |       9.99 |    9999.99 |
99-AAA-9999 |  ZZZ/AA AAAAAAA/999999/AAA/99.99.9999                 |            |       9.99 |   99999.99 |
99-AAA-9999 |  ZZZ/AAA AAAAA AAAAAAA AAAAAA/999999/AAA/99.99.9999   |            |       9.99 |   99999.99 |
99-AAA-9999 |  ZZZ/AAAA AAAAAA AAAAA/999999/AAA/99.99.9999          |            |       9.99 |   99999.99 |

从 ZZZ/AA..... 到第二个斜杠“/”的文本被截断后,我想要这样,格式良好

99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |    9999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |

其实还有很多其他栏目,但我只提供了示例数据。 注意:所有的文字和数字都不一样。

请指导我如何使用 awk 或 sed,最好是 awk。

$ sed 's:[^ /]*/[^/]*/\([^|]*[^ |]\) *|: |:' file
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |    9999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |
99-AAA-9999 |  999999/AAA/99.99.9999 |            |       9.99 |   99999.99 |