gpt4 book ai didi

linux - 如何在 unix 中处理同一文件中的嵌套分隔符

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:48 25 4
gpt4 key购买 nike

我有一个以分号分隔的文件。

并且文件中的字段之一是管道分隔的。

例子。

field-1;field-2;value-1|value-2|value-3;field-4;field-5

这里 field-3 只是管道分隔值。

现在我的要求是,如果field-3中有多个值,

我只需要保留第一个值。丢弃该字段中第一个管道之后的所有内容。

即,我只想保留 field-3 中的第一个值,如下所示

field-1;field-2;value-1;field-4;field-5

能否请您告诉我如何使用 sed/awk 实现此目的?

最佳答案

sed 's/[|][^;]*//g' YourFile
  • 它删除(不替换)|([|] 模式)之后(包括)任何值,直到它不是 ([^;] 模式)和每次出现(g 选项)
  • 假设 | 只是一个分隔符而不是字段值的一部分(就像在字符串中)

关于linux - 如何在 unix 中处理同一文件中的嵌套分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31608434/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com