如何在sed中使用变量在每行上面插入文件?

时间:2017-04-17 22:01:40

标签: sed

我有一个包含此值的文件:

[mik@mikypc ~]$ cat file.txt 
id=cat8760004
id=cat1350003
id=cat9020002

我想插入每行上面带有值的id,结果将是:

New_id=cat8760004
id=cat8760004
New_id=cat1350003
id=cat1350003
New_id=cat9020002
id=cat9020002

我怎么能这样做?,我尝试过使用sed,但我无法替换变量:

[mik@mikypc ~]$ cat file.txt | sed '/cat\([0-9][0-9]*\)/ i\New_id &'
New_id &
id=cat8760004
New_id &
id=cat1350003
New_id &
id=cat9020002

1 个答案:

答案 0 :(得分:2)

我建议使用GNU sed:

sed 's/.*/New_&\n&/' file.txt

输出:

New_id=cat8760004
id=cat8760004
New_id=cat1350003
id=cat1350003
New_id=cat9020002
id=cat9020002