gpt4 book ai didi

awk - 文本处理 : sed to work backwards to delete until string

转载 作者:行者123 更新时间:2023-12-04 21:37:28 26 4
gpt4 key购买 nike

我的 AWK 脚本根据使用它的文本文件生成以下 2 个输出中的 1 个。

49 1146.469387755102 mongodb 192.168.0.8:27017 -p mongodb.database

1 1243.0 jdbc:mysql 192.168.0.8:3306/ycsb -p db.user

我需要一种删除 IP 地址之后的所有内容的方法,包括端口号。
sed 's/:[^:]*//2g'
除了它从左到右删除的事实之外,并且作为输出之一包含 2 :它会停止并删除之后的所有内容。有没有办法反转 sed 从右到左工作?

为了清楚起见,每个所需的输出是:
49 1146.469387755102 mongodb 192.168.0.8

1 1243.0 jdbc:mysql 192.168.0.8

最佳答案

您可以使用以下 sed 命令。

sed 's/:[0-9]\{4\}.*//' file

或者
sed 's/:[^:]*$//' file
[^:]*匹配任何字符但不匹配 : 的否定字符类,零次或多次。 $匹配线边界的末端。所以 :[^:]*$匹配从最后一个冒号到末尾的所有字符。用空字符串替换那些匹配的字符将为您提供所需的输出。

关于awk - 文本处理 : sed to work backwards to delete until string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29614497/

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