Vim实践技巧一:为每行数据前面添加行号

Vim实践技巧一:为每行数据前面添加行号,第1张

最近在写Thrift文件时,从其他地方拷贝过来的数据,没能带上行号,这样子得手工一行行添加行号,比较费时费力。

原数据:

期望数据:

这里涉及两个问题:

1、只要2-4行需要自动添加行号

2、需要在Vim编辑器上执行

解决思路:

1、在Vim命令模式下指定行数

2、通过外部命令Awk可以自动生成行数

在vim的命令行模式输入:

就可以实现上述目的

释义:

1、指定行数:2,4

只要2-4行

2、执行外部命令:!awk '{print ""NR":" 2}'

!awk:执行外部命令awk

NR:行数。这里是NR行数与Vim行数不一样,而是我们输入的指定内容行行数,即2-4行内容

在awk中使用printf先后打印如下内容:

要添加的行 + \n换行符

当前行 + \n换行符

例子:

awk '/匹配内容/{printf("新增的一行\n%s\n", $0)}' file.txt >result.txt

简单的方法应该用 sed 的插入行命令 i (即 insert 的意思):

sed '/匹配内容/ i\ 新增的一行' file.txt >result.txt


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11538253.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-16
下一篇2023-05-16

发表评论

登录后才能评论

评论列表(0条)

    保存