gpt4 book ai didi

regex - Sed 正则表达式问题

转载 作者:行者123 更新时间:2023-11-29 09:20:38 25 4
gpt4 key购买 nike

我正在尝试转变:

 pid 2928's current affinity list: 0-3 pid 2928's new affinity list: 0

2928: 0-3 --> 0

目前我有以下正常工作的转换:

正则表达式:pid输出:2928 的当前亲和列表:0-3 2928 的新亲和列表:0

正则表达式: 的当前关联列表输出:2928: 0-3 2928 的新亲和列表:0

然后是最终的正则表达式,它不能正常工作:

正则表达式:(\d+)(.)(.)(.)((?:[a-z][a-z]+))(\s+)((?:[a-z][a-z]+) )(\s+)((?:[a-z][a-z]+)) 输出:2928: 0-3 2928 的新亲和列表:0

如您所见,它没有正确应用正则表达式。如果您在在线测试器中测试此正则表达式,您会发现它确实选择了要删除的正确区域。

完整命令:

echo "pid 2928 的当前关联列表:0-3 pid 2928 的新关联列表:0"| sed -e "s/pid//g"-e "s/的当前关联列表//g"-e "s/(\d+)(.)(.)(.)((?:[a-z] [a-z]+))(\s+)((?:[a-z][a-z]+))(\s+)((?:[a-z][a-z]+))/-->/gim"

我一定没有在 sed 的第三个 -e 中正确执行正则表达式。这看起来有什么不对吗?

最佳答案

这里使用 awk 更简单:

awk -F "[ ']" '{ print $2 ": " $7 " --> " $14}'

所有行:

echo "pid 2928's current affinity list: 0-3 pid 2928's new affinity list: 0" | awk -F "[ ']" '{ print $2 ": " $7 " --> " $14}'

关于regex - Sed 正则表达式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17841309/

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