gpt4 book ai didi

vim - 在 Vim 的搜索中运行 AWK

转载 作者:行者123 更新时间:2023-12-02 11:23:41 25 4
gpt4 key购买 nike

如何在 Vim 的搜索选择中运行 AWK?

我的伪代码

%s/!awk '{ print $2 }'//d

我正在尝试删除文件中的给定列。

最佳答案

尽管他们可能解决了原始海报的问题,但没有一个答案解决问题标题中所宣传的问题。我建议删除问题的第一行并将其重新命名为“在 vim 中删除一列”已被一致拒绝,这里是通过实际寻找到达那里的人的解决方案。

使用 awk 删除一列(这里是第二列,如 OP 的伪代码示例中所示)在 vim :

:%!awk '{$2=""; print $0}'

当然,它也适用于文件的一部分——例如对于第 10 到 20 行:
:10,20!awk '{$2=""; print $0}'

至于“[running] awk in Vim 的搜索选择”,不确定您是否可以完全做到这一点,但无论如何,搜索和替换对于 awk 来说是一件容易的事。 ,如果不是它的主要目的。如果匹配,以下将第二列中的“pattern”替换为“betterpattern”:
:%!awk '$2~"pattern" {gsub("pattern","betterpattern",$2)}

请注意 NOT运算符需要转义( \! 而不是 ! )。如果第二列中的值与“数字”匹配并让其他行保持不变,则以下内容将其替换为 10 的增量:
:%!awk '$2~"number" {gsub($1,$1+10)} $2\!~"number" {print $0}'

从这一点来看,它只是 awk句法。

关于vim - 在 Vim 的搜索中运行 AWK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934520/

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