免费注册 查看新帖 |

Chinaunix

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

用sed命令怎么修改一个文件? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-09-12 15:50 |只看该作者 |倒序浏览
想把一个文件里的abc 用123 代替并保存。应该怎么写?
sed s/abc/123/g file1 > file1 , 这样会导致file 变为空文件。
    就好像执行 ls -l > newfile一样,0字节的 newfile 也出现在newfile文件中。
   难道只能到一个临时文件再改名吗?(sed s/abc/123/g file1 > file2; mv file2 file1)
有办法一条命令完成吗?

论坛徽章:
0
2 [报告]
发表于 2004-09-12 17:22 |只看该作者

用sed命令怎么修改一个文件?

直接用vim来做:
:%s/abc/123/g
:wq

论坛徽章:
0
3 [报告]
发表于 2004-09-12 17:29 |只看该作者

用sed命令怎么修改一个文件?

sed -e 's/abc/123/g' -e 'w/ newfile' file1

论坛徽章:
0
4 [报告]
发表于 2004-09-12 17:37 |只看该作者

用sed命令怎么修改一个文件?

  1. awk '{gsub(/\<abc\>/,"123);print >"newfile"}' file
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-09-12 18:55 |只看该作者

用sed命令怎么修改一个文件?

to bjgril:
awk '{gsub(/\<abc\>/,"123);print >"newfile"}' file
123后面漏了"吧?

论坛徽章:
0
6 [报告]
发表于 2004-09-12 23:30 |只看该作者

用sed命令怎么修改一个文件?

原帖由 "wuweikailove" 发表:
to bjgril:
awk '{gsub(/\<abc\>/,"123);print >"newfile"}' file
123后面漏了"吧?

谢谢提醒, 忘了一个双引号

论坛徽章:
0
7 [报告]
发表于 2004-09-13 23:08 |只看该作者

用sed命令怎么修改一个文件?

原帖由 "bjgirl" 发表:
直接用vim来做:
:%s/abc/123/g
:wq


因为有很多文件要改,需要用sh来完成。

论坛徽章:
0
8 [报告]
发表于 2004-09-13 23:15 |只看该作者

用sed命令怎么修改一个文件?

原帖由 "IT业的民工" 发表:


因为有很多文件要改,需要用sh来完成。
  1. for i in $(grep -lR "abc" /dir/*);do
  2.     vim -e -s -c ":%s/abc/123/" -c ":wq" $i
  3. done
复制代码

论坛徽章:
0
9 [报告]
发表于 2004-09-13 23:16 |只看该作者

用sed命令怎么修改一个文件?

怎么大家还是要创建 一个新文件阿?
有直接修改的方法吗?

论坛徽章:
0
10 [报告]
发表于 2004-09-13 23:22 |只看该作者

用sed命令怎么修改一个文件?

原帖由 "IT业的民工" 发表:
怎么大家还是要创建 一个新文件阿?
有直接修改的方法吗?

不是告诉你用vim可以直接修改并保存文件了吗?!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP