请教一个问题,如何插入文本至一个文件指定行

请教一个问题,如何插入文本至一个文件指定行

可能很简单,但我不懂
比如我想用直接用一个命令把“LANG=zh_CN.GB2312"插入一个配置文件的第一行。假定这个文件为/etc/init.d/gdm
自己编个命令吧

mv /etc/init.d/gdm /etc/init.d/gdm.bak
echo LANG=zh_CN.GB2312 >/etc/init.d/gdm
cat /etc/init.d/gdm.bak>>/etc/init.d/gdm
please study 'SED'
[code:1][kk@LPE ~]$ cat kk
skfjflfjalkjf
lskjflksj
slkfjlj
[kk@LPE ~]$ sed '1i\99999999999999999999999999' kk
99999999999999999999999999
skfjflfjalkjf
lskjflksj
slkfjlj
[/code:1]
用vim,yy就可以了
用emacs,M-y
yj@debian:~$ cat 1
xxx
yj@debian:~$ sed -e 's/xxx/bar/' 1
bar
yj@debian:~$ cat 1
xxx
好象实质上没修改
sed -i 's/xxx/bar/' 1
刚刚也看到了,谢谢
#!/bin/bash

sed -n "1,$2"p $1>newfile   # $2 是插入行号
read line   # 插入内容
echo  $line>>newfile
insert=$(($2+1))
sed -n "${insert},$"p $1 >>newfile
cp newfile $1