LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2560|回复: 28

如何在文本中间插入一行?--[已解决]

[复制链接]
发表于 2004-3-12 11:06:08 | 显示全部楼层 |阅读模式
文本文件如下

abcd
aaaaaaaaaaaaaaaa
gggggg
eeeeeee

请问如何在ggggg后面插入一行'xxxxxxxx'呢,也就是要达到下面的效果

abcd
aaaaaaaaaaaaaaaa
gggggg
xxxxxxxxxx
eeeeeee

请执教,谢谢
:help
发表于 2004-3-12 11:28:13 | 显示全部楼层
  1. sed '/gggggg/a\
  2. xxxxxxx' file
复制代码
 楼主| 发表于 2004-3-12 11:34:15 | 显示全部楼层
谢谢,我试一下先//bow
 楼主| 发表于 2004-3-12 13:35:38 | 显示全部楼层
我试了一下,
sed '/gggggg/a\
xxxxxxx' file
提示:
abcd
aaaaaaaaaaaaaaaa
gggggg
xxxxxxx
eeeeeee

但是vi a.txt 依旧是老样子,是不是要保存?
怎么保存?谢谢
发表于 2004-3-12 13:54:22 | 显示全部楼层
sed '/gggggg/a\
xxxxxxx' file >newfile
 楼主| 发表于 2004-3-12 14:10:02 | 显示全部楼层
谢谢javalee
★☆族★长☆★

不好意思,再请教一下那么如果要散除这个插入的gggggg
该怎么做呢?
多谢执教!
发表于 2004-3-12 14:32:40 | 显示全部楼层
最初由 sdjw 发表
谢谢javalee
★☆族★长☆★

不好意思,再请教一下那么如果要散除这个插入的gggggg
该怎么做呢?
多谢执教!

sed '/gggggg/d' file >newfile
补充:本版有sed,awk,grep的实例,你自己搜搜看吧~~,在[精华区]
 楼主| 发表于 2004-3-12 14:46:39 | 显示全部楼层
谢谢谢谢!:)
 楼主| 发表于 2004-3-12 15:26:52 | 显示全部楼层
用命令执行是可以了,但是在程序中执行有问题。不能处理换行

假设存在一文件 test.txt
内容如下

aaaaa
bbbbb
ccccc

插入的命令格式   insert test.txt 'bbbbb' 'XXXXX'

这样 test.txt 的内容就变成了
aaaaa
bbbbb
XXXXX
ccccc

请教高手这个简单的insert shell 怎么写?

直接用命令
sed '/bbbbb/a\
XXXXX' file  有2个问题。
第一 不能直接在原文件中增加记录。要产生一个新文件,然后删除原文件,
再把新文件拷贝成原文件名
第二,我在c 语言里这个换行符怎么也执行不成功。

请兄弟帮忙到底,帮我写一个shell ,谢谢!
发表于 2004-3-12 16:07:06 | 显示全部楼层
1.如果你嫌麻烦的话,就在vi里直接插入
2.我没有C语言环境
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表