如何解决用字符串的出现替换文本文件中的字符串
我正在尝试形成以下格式的长索引文件:
[1]
13 14 15 16 17 18
[2]
89 90 91 92 93 94
[3]
165 166 167 168 169 170
[4]
---------------------
我的文件格式为:
[index-i]
13 14 15 16 17 18
[index-i]
89 90 91 92 93 94
[index-i]
165 166 167 168 169 170
[index-i]
-------
如何使用脚本将方括号中的“ index-i”替换为“出现次数”
解决方法
如果longindex包含您的输入文件
$ cat longindex
[index-i]
13 14 15 16 17 18
[index-i]
89 90 91 92 93 94
[index-i]
165 166 167 168 169 170
[index-i]
然后使用awk(或gawk)
$ gawk '/^\[/{print "[" ++i "]"; next;} {print}' longindex
[1]
13 14 15 16 17 18
[2]
89 90 91 92 93 94
[3]
165 166 167 168 169 170
[4]
,
这可能对您有用(GNU sed和bash):
sed '/^\[/{g;s/.*/expr & + 1/e;h;s/.*/[&]/}' file
如果当前行以方括号开头,则按如下方式处理该行。
用保留空间的内容替换当前行。
增加计数器。
更新保留空间。
用方括号括起来。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。