在vi中将第二行替换为最后一行-1

时间:2012-03-13 18:57:23

标签: regex unix sed vi

我正在尝试在sed中替换2nd到last-1行的内容。但我无法正确解决问题。

例如:在文件中

    1
    2
    3
    4
    5

我想这样做:

    1
    2,
    3,
    4,
    5

在vi中,它必须是:2,$ - 1s / $ /,/但$ -1不会起作用。请建议。

2 个答案:

答案 0 :(得分:0)

这可能对您有用:

seq 5 | sed '1b;$b;s/$/,/'
1
2,
3,
4,
5

答案 1 :(得分:-1)

你很亲密。你需要在'a'命令结尾处加一个'g'。在vim:

:2,$-1 s/$/,/g

将完成任务。