求助!【Vim 中如何实现递加】

比如文档中有10个“a100”且在不连续的行,通过哪种办法可以把这10个“a100”根据行号从低到高依次 +1,+2,……+9,+10,变为“a101,a102……a109,a110”

作者: bingling512   发布时间: 2011-06-09

回复 bingling512


    try:

cat f1:
a100
a100
a100
a100
a100


#!/bin/bash

awk -F'a' '{print "a"$2+NR}' f1 >a.txt

mv a.txt f1

作者: db2-zhang   发布时间: 2011-06-09

  1. $ cat file
  2. a100
  3. aaaaaa
  4. a100
  5. a100
  6. a100
  7. bbbbbbbb
  8. a100
  9. a100
  10. $ awk '/\<a1/{++n;$1="a"substr($1,2,3)+n}1' file
  11. a101
  12. aaaaaa
  13. a102
  14. a103
  15. a104
  16. bbbbbbbb
  17. a105
  18. a106
复制代码

作者: zooyo   发布时间: 2011-06-09

回复 db2-zhang


    你这样不行,楼主特别强调非连续行.

作者: zooyo   发布时间: 2011-06-09