免费注册 查看新帖 |

Chinaunix

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

sed -e '1w file' file怎麼會把文件清空呢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-13 17:04 |只看该作者 |倒序浏览
如題, 感覺應該吧第一行寫進文件啊.

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2009-11-13 17:20 |只看该作者
w搞的鬼。

论坛徽章:
0
3 [报告]
发表于 2009-11-13 20:39 |只看该作者
和cat file >file一样,被清空了
坛子里有过一个讨论这个的帖子

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
4 [报告]
发表于 2009-11-14 01:01 |只看该作者

论坛徽章:
0
5 [报告]
发表于 2009-11-16 11:26 |只看该作者
原帖由 blackold 于 2009-11-13 17:20 发表
w搞的鬼。


w會先清空文件, 然後再把符合條件的行寫進文件 不是嗎.
應該有一行從pattern space寫進文件的啊

w選項是怎麼實現的呢?

原帖由 haimming 于 2009-11-13 20:39 发表
和cat file >file一样,被清空了
坛子里有过一个讨论这个的帖子


cat file > file 應該是先執行> file用標準輸出清空了文件, 再cat file, 所以文件是空的, 和sed的w選項有些區別.

论坛徽章:
0
6 [报告]
发表于 2009-11-16 11:52 |只看该作者

回复 #5 wind_ch 的帖子

sed 应该会先准备w file中的file,再读后面的file 吧

论坛徽章:
0
7 [报告]
发表于 2009-11-16 17:18 |只看该作者
原帖由 haimming 于 2009-11-16 11:52 发表
sed 应该会先准备w file中的file,再读后面的file 吧


這么說 sed 是先準備好程序的輸入和輸出, 再一行一行取出分析的咯.

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

论坛徽章:
0
9 [报告]
发表于 2009-11-16 17:54 |只看该作者
字面可以理解为把最后面file文件中和1匹配的行写到最前面file中
-e 允许多项编辑
w 将行写入文件
最终的效果应该是cat file<file

[ 本帖最后由 boean 于 2009-11-16 18:05 编辑 ]

论坛徽章:
0
10 [报告]
发表于 2009-11-17 14:55 |只看该作者
http://140.111.152.19/freebsd/sed_96005/sed_sec_1.html#1.4

"總合上述所言 , 當 sed 由標準輸入讀入一行資料並放入 pattern space 時 , sed 依照 sed script的編輯指令逐一對 pattern space 內的資料執行編輯 , 之後 , 再由 pattern space 內的結果送到標準輸出 ,接著再將下一行資料讀入。如此重複執行上述動作 , 直至讀完所有資料行為止。"

所以sed事先準備好輸入輸出, 再執行操作的想法應該是正確的.

w選項把輸出重定向到file, 事先被清空, 所以取不出內容, 當然也沒東西可寫了.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP