Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

如何在命令行下将一串字符插入到一个文本文件的某一行当中?

[复制链接]
水晶魔法师 发表于 2006-6-10 21:59:36 | 显示全部楼层 |阅读模式
我这里碰到了一个难题,就是在.sh脚本文件中,需要修改一个文本文件里面的内容,即把一串字符插入到该文本文件的第N行,请问该如何实现?
coredump 发表于 2006-6-11 00:02:27 | 显示全部楼层
insert strings "foo" into line 5 of src.txt

tips 1:
awk '{if(NR!=5) print $0; else printf ( "foo\n%s\n", $0 ); }' src.txt

tips 2:
use head and tail command can also get the same result, but it is a little complicated :)

[ 本帖最后由 coredump 于 2006-6-11 00:14 编辑 ]
回复

使用道具 举报

 楼主| 水晶魔法师 发表于 2006-6-21 12:19:43 | 显示全部楼层
呵呵`~太妙了!谢谢coredump!
我后来也想到了一个方法:
sed '3i\
there input your content,that will insert 3th line' ~/yourfile>~/yourfile.tmp
sed 'w ~/yourfile' ~/yourfile.tmp
rm -f ~/yourfile.tmp
但是上面这个方法好像很不方便~~这下可好了,呵呵!

不过我发觉coredump的方法并不能更新源文件,只是把插入后的结果写入缓冲区并输出到屏幕~
如果要更新源文件怎么办???

[ 本帖最后由 水晶魔法师 于 2006-6-21 15:45 编辑 ]
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-1-4 06:55 , Processed in 0.034920 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

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