假设一个文本文件file包含多行文本字符串。
> cat file
foo bar baz
bar quux foo
foo baz quux
我想向每个第三列单词添加一个连续的数字(带前导数字,后跟下划线)。
> cat file | sought_command
foo bar 001_baz
bar quux 002_foo
foo baz 003_quux
我相信这可以简单地通过 awk 来实现 (awk '{printf("%03d ...
)),但无法想出正确的方法代码。
最佳答案
您可以使用 sprintf 并将其分配给 $3,使用行号作为数字。
awk '$3=sprintf("%03d_%s",NR,$3)' file
foo bar 001_baz
bar baz 002_qux
foo baz 003_quux
关于string - 在每行中添加连续的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43810270/