gpt4 book ai didi

bash - awk:神秘的双行打印

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

我有一个 $FILE

1 textline1
1 textline2
1 textline3
1 textline4

我想搜索 textline3 并求和:1stcolumn+1

行号是:

lnr=$(grep -n textline3 $FILE | cut -d : -f1)

但是当我使用 awk 时:

awk -v l="$lnr" 'FNR==l{ sub($1,$1 + 1); print }1' $FILE

我弄错了(第 3 行是双重打印的)

1 textline1
1 textline2
2 textline3
2 textline3
1 textline4

最佳答案

双重打印的原因是,您在 {} 内打印并使用 1。 1 表示 true,awk 的默认行为是打印。

awk -v l="$lnr" 'FNR==l{ sub($1,$1 + 1)}1' $FILE

关于bash - awk:神秘的双行打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39251260/

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