yjwork 发表于 2005-9-8 11:58:34

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

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

flashor 发表于 2005-9-8 19:41:06

自己编个命令吧

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

demonlj 发表于 2005-9-8 22:27:09

:? please study 'SED'
[kk@LPE ~]$ cat kk
skfjflfjalkjf
lskjflksj
slkfjlj
[kk@LPE ~]$ sed '1i\99999999999999999999999999' kk
99999999999999999999999999
skfjflfjalkjf
lskjflksj
slkfjlj

flashor 发表于 2005-9-8 23:24:32

8)

jerryfleming 发表于 2005-9-9 09:20:54

用vim,yy就可以了
用emacs,M-y

yjwork 发表于 2005-9-9 15:24:56

yj@debian:~$ cat 1
xxx
yj@debian:~$ sed -e 's/xxx/bar/' 1
bar
yj@debian:~$ cat 1
xxx
好象实质上没修改

flashor 发表于 2005-9-9 15:40:33

sed -i 's/xxx/bar/' 1

yjwork 发表于 2005-9-9 15:45:59

刚刚也看到了,谢谢

yaop 发表于 2005-9-10 15:09:18

#!/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
页: [1]
查看完整版本: 请教一个问题,如何插入文本至一个文件指定行