sed输出的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
头像
shujun579
帖子: 136
注册时间: 2006-01-14 17:01
来自: CNU

sed输出的问题

#1

帖子 shujun579 » 2006-05-16 18:41

好像sed不能把输出重定向到原文件
例如 sed "/$a/d" /foo/bar > bar
然后bar就变成空文档了
只有sed "/$a/d" /foo/bar > bar_new 才有效
谁能告诉我怎么把修改保存到原文件吗 ?

谢谢 !
下雨天呆在家里,看别人在街上奔走,是很惬意的事!
头像
leal
帖子: 1119
注册时间: 2005-08-29 14:49
来自: 杭州
联系:

#2

帖子 leal » 2006-05-16 18:43

>> 行不行?
用心×恒 | 豆瓣 | 门户 | Blog
头像
shujun579
帖子: 136
注册时间: 2006-01-14 17:01
来自: CNU

#3

帖子 shujun579 » 2006-05-16 18:53

>>是追加到文件尾

比如源文件1.txt是:
123
456
789

用命令 sed '/123/d' 1.txt >> 1.txt
文件内容就变成了:
123
456
789
456
789
这不是我的本意,我的本意应该是删除123这行
下雨天呆在家里,看别人在街上奔走,是很惬意的事!
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#4

帖子 eexpress » 2006-05-16 19:19

是这样的。没办法。手动改文件名吧。
● 鸣学
头像
leal
帖子: 1119
注册时间: 2005-08-29 14:49
来自: 杭州
联系:

#5

帖子 leal » 2006-05-16 19:24

sed "/123/d" sed.txt > test; mv test sed.txt

嘻嘻
用心×恒 | 豆瓣 | 门户 | Blog
头像
shujun579
帖子: 136
注册时间: 2006-01-14 17:01
来自: CNU

#6

帖子 shujun579 » 2006-05-16 20:14

呵呵 我总以为有办法的
其实这样已经挺好的了
下雨天呆在家里,看别人在街上奔走,是很惬意的事!
windforest
帖子: 53
注册时间: 2005-12-13 20:56
联系:

#7

帖子 windforest » 2006-05-25 14:48

OPTION : --in-place
头像
shujun579
帖子: 136
注册时间: 2006-01-14 17:01
来自: CNU

#8

帖子 shujun579 » 2006-05-25 18:33

非常感谢 !哈哈
下雨天呆在家里,看别人在街上奔走,是很惬意的事!
回复