如何增加文字中的数字

Car*_*les 0 bash shell awk

我正在尝试增加第三行的最后一个字符

这是我的输入文件

33981 Juan Robles Garcia 5 1
33982 Lucas Robles Garcia 3 0
33983 Alba Robles Garcia 3 0
Run Code Online (Sandbox Code Playgroud)

这将是输出文件

33981 Juan Robles Garcia 5 1
33982 Lucas Robles Garcia 3 0
33983 Alba Robles Garcia 3 1
Run Code Online (Sandbox Code Playgroud)

Cyr*_*rus 9

如果当前行是第三行(NR == 3),则在最后一列($ NF)中将值递增1。无论如何,输出整行(打印)。

无论如何,打印整行。

awk '{if (NR==3) {$NF++}; {print}}' file
Run Code Online (Sandbox Code Playgroud)

或更短

awk 'NR==3 {$NF++} {print}' file
Run Code Online (Sandbox Code Playgroud)

或更短

awk 'NR==3 {$NF++}1' file
Run Code Online (Sandbox Code Playgroud)

输出:

33981胡安·罗伯斯·加西亚5 1
33982卢卡斯·罗伯斯·加西亚3 0
33983阿尔巴·罗伯斯·加西亚3 1

请参阅:8个强大的Awk内置变量– FS,OFS,RS,ORS,NR,NF,FILENAME,FNR