gpt4 book ai didi

linux - 向匹配模式的行添加行计数器

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:31 26 4
gpt4 key购买 nike

我需要在文件中匹配特定模式的行前加上一个行计数器,同时仍然输出不匹配该模式的行。

例如,如果我的文件如下所示:

aaa 123
bbb 456
aaa 666
ccc 777
bbb 999

我想计算的模式是 'aaa' 和 'ccc',我想得到以下输出:

1:aaa 123
bbb 456
2:aaa 666
3:ccc 777
bbb 999

最好是我正在寻找一个 Linux 单行程序。外壳或工具并不重要,只要它在大多数发行版中默认安装即可。

最佳答案

使用awk:

awk '{if ($1=="aaa" || $1=="ccc") {a++; $0=a":"$0}} {print}' file
1: aaa 123
bbb 456
2: aaa 666
3: ccc 777
bbb 999

说明

遍历行检查第一个字段是aaa 还是ccc。如果是,则在行 ($0) 后附加变量 a 并自动递增它。最后,在所有情况下打印该行:如果模式匹配,开头将有 a,否则只有原始行。

关于linux - 向匹配模式的行添加行计数器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17400554/

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