我有一个包含一些断言的文件。
...
assert p1;
...
assert p2;
我需要为每个断言提供唯一的ID
...
{uniqueId:0} assert p1;
...
{uniqueId:1} assert p2;
使用基本的unix命令在bash中有办法吗?
答案 0 :(得分:3)
我认为你正在寻找像
这样的东西perl -pe 's/assert/$c++." $&"/e' file
...
0 assert p1;
...
1 assert p2;
这假设包含assert
的唯一行是您要更改的行。如果是这种情况,我无法从您的示例输入中判断出来。
答案 1 :(得分:2)
使用awk:
awk '/^ *assert/{$0 = "{uniqueId:" i++ "} " $0}1' file
...
{uniqueId:0} assert p1;
...
{uniqueId:1} assert p2;