AWK将一个大字符串替换为一列中的一部分(剪切一部分),并完整打印所有其他列,保持格式不变

AWK将一个大字符串替换为一列中的一部分(剪切一部分),并完整打印所有其他列,保持格式不变,awk,sed,replace,split,cut,Awk,Sed,Replace,Split,Cut,我想用它的一部分替换一个大字符串—第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.

我想用它的一部分替换一个大字符串—第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。

卓越@EdMorton先生。请你解释一下好吗?没什么要解释的-你有什么特别的地方不明白吗?格式是如何影响的,我无法理解
[^/]*/[^/]*/
匹配的
ZZZ/AAAA AAAA/
,例如,
\([^ 124;]*[^ 124;]\)
匹配并捕获
9999999/AAA/99.99.9999
,“| `匹配尾随空格加上
|
,因此当您将所有这些替换为
\1 |
时,您只需将捕获的内容放回,然后加上“| `并丢弃之前和之后的内容。非常感谢。你一直对我很有帮助。
$ sed 's:[^ /]*/[^/]*/\([^|]*[^ |]\) *|:\1 |:' 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 |