免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1792 | 回复: 9
打印 上一主题 下一主题

如何编程改写文本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-06-15 22:06 |只看该作者 |倒序浏览
想通过shell脚本编程实现:改写文本文件(完全改写和部分替换)

1.用echo或sed,必须用>重定向,这样就不能控制命令权限(如不能在普通账户下改写root权限的文件)
2.sed -i在solaris下不能用

有无其他命令改写文本文件?谢

论坛徽章:
0
2 [报告]
发表于 2005-06-15 22:45 |只看该作者

如何编程改写文本

原帖由 "stephen_zhou" 发表:
想通过shell脚本编程实现:改写文本文件(完全改写和部分替换)

1.用echo或sed,必须用>重定向,这样就不能控制命令权限(如不能在普通账户下改写root权限的文件)
2.sed -i在solaris下不能用

有无其他命?.........

  1. perl -p -e action filename
复制代码

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
3 [报告]
发表于 2005-06-16 00:25 |只看该作者

如何编程改写文本

搜索论坛
PS:vim,sed,ed均可直接编辑文本

论坛徽章:
0
4 [报告]
发表于 2005-06-16 20:03 |只看该作者

如何编程改写文本

file:
old thing
我用了
sed 's/old/new/' file
显示
new thing

但实际文件未被修改
求助!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2005-06-16 22:01 |只看该作者

如何编程改写文本

sed是流编辑器,他所作的修改的结果是存放在缓冲区里的,
要想直接修改/编辑文件,可以用ed,或者用sed的-i开关,(如果你的sed版本够高的话)

论坛徽章:
0
6 [报告]
发表于 2005-06-22 22:43 |只看该作者

如何编程改写文本

ed 如何做?   先谢了

论坛徽章:
8
摩羯座
日期:2014-11-26 18:59:452015亚冠之浦和红钻
日期:2015-06-23 19:10:532015亚冠之西悉尼流浪者
日期:2015-08-21 08:40:5815-16赛季CBA联赛之山东
日期:2016-01-31 18:25:0515-16赛季CBA联赛之四川
日期:2016-02-16 16:08:30程序设计版块每日发帖之星
日期:2016-06-29 06:20:002017金鸡报晓
日期:2017-01-10 15:19:5615-16赛季CBA联赛之佛山
日期:2017-02-27 20:41:19
7 [报告]
发表于 2005-06-23 08:46 |只看该作者

如何编程改写文本

如果你没有写权限,用什么编辑器都改变不了文件

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
8 [报告]
发表于 2005-06-23 09:24 |只看该作者

如何编程改写文本

[quote]原帖由 "stephen_zhou"]ed 如何做?   先谢了[/quote 发表:

例:

  1. ed file<<EOF
  2. 1,$ s/old/new/
  3. w
  4. q
  5. EOF
复制代码

将文件中old全部替换成new
http://blog.chinaunix.net/article.php?articleId=2492&blogId=126

论坛徽章:
0
9 [报告]
发表于 2005-06-23 20:15 |只看该作者

如何编程改写文本

[quote]原帖由 "waker"]如果你没有写权限,用什么编辑器都改变不了文件[/quote 发表:

我是想这么做:
将要用到的命令放在名为admintool的目录里,chmod这些命令文件成为
rws r-x r-x。 owner:root
这样,编一个shell脚本调用admintool里的命令,即使是普通用户登陆,也可用有root权限的命令。

编写shell脚本实现对文件的改写操作,但问题是用>重定向 仍无法对/etc下文件作改写。
(注:以普通用户登陆,用我admintool里的cp,可实现对/etc下文件的复制,说明有权利改写)

有何良策?

论坛徽章:
0
10 [报告]
发表于 2005-06-24 20:12 |只看该作者

如何编程改写文本

Ding一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP