gpt4 book ai didi

regex - 修改文件中匹配 WORD1 而不是 WORD2 的行 (Sed/Awk)

转载 作者:行者123 更新时间:2023-12-01 09:59:30 24 4
gpt4 key购买 nike

我需要将内核参数添加到尚未包含它们的行中。 (不想将它添加到所有行,以防它已经存在。)

我已经构建了这个 awk 命令来在缓冲区中执行它,但是由于 awk 缺乏像 sed 这样的就地编辑能力,所以无法将它放入文件本身. (但是我不知道如何使用 sed 进行这种类型的匹配。)

awk '/\tkernel/&&!/audit=1/{ print $0"audit=1"; }'/etc/grub.conf

这会查找匹配“kernel”和NOT“audit=1”(必要时附加“audit=1”)的行。

标记为 sed/awk,但对其他建议持开放态度。

最佳答案

使用 sed:

sed -i '/kernel/{/audit=1/!s/$/ audit=1/}' /etc/grub.conf

关于regex - 修改文件中匹配 WORD1 而不是 WORD2 的行 (Sed/Awk),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14132185/

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