免费注册 查看新帖 |

Chinaunix

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

awk如何edit in place [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-10 10:51 |只看该作者 |倒序浏览
怎样使用awk将文件处理后输出到标准输出的结果覆盖原文件?如同使用sed -i 一样。
请大侠帮忙,谢谢!

论坛徽章:
0
2 [报告]
发表于 2010-11-10 11:56 |只看该作者
回复 1# 每日一瓜


   使用>FILENAME

论坛徽章:
0
3 [报告]
发表于 2010-11-10 12:12 |只看该作者
回复 2# 好看的附件


    awk '{  ... }' urfile 〉urfile不行。
   希望awk '{ ... }' urfile执行完了后,urfile被改了

论坛徽章:
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
4 [报告]
发表于 2010-11-10 12:31 |只看该作者
回复 1# 每日一瓜

观察一下文件的inode,sed -i以后的文件还是原来的inode么?不过是文件名没变而已

论坛徽章:
0
5 [报告]
发表于 2010-11-10 12:31 |只看该作者
ex:
awk '{print >"文件名"}’ 文件名

论坛徽章:
0
6 [报告]
发表于 2010-11-10 13:38 |只看该作者
ex:
awk '{print >"文件名"}’ 文件名
dibug 发表于 2010-11-10 12:31



试验过awk '{gsub("old","new");print > "urfile"}' urfile, 发现结果不对。urfile比原来少了很多行。
我的目的是在find命令中使用awk,对大量文件执行同一操作。如下

find . -name "*.c" -exec awk '{ ... }' {} \;

论坛徽章:
0
7 [报告]
发表于 2010-11-10 13:39 |只看该作者
回复 6# 每日一瓜


    我用的是C Shell

论坛徽章:
0
8 [报告]
发表于 2010-11-10 13:48 |只看该作者
回复 7# 每日一瓜


    C shell 也没问题呀,我刚才试了下
[root@localhost log]# cat a
aaaaa bbbb
ccccc dddd
[root@localhost log]# awk '{print $1>FILENAME}' a
[root@localhost log]# cat a
aaaaa
ccccc
[root@localhost log]#

论坛徽章:
0
9 [报告]
发表于 2010-11-10 14:56 |只看该作者
回复  每日一瓜


    C shell 也没问题呀,我刚才试了下
好看的附件 发表于 2010-11-10 13:48



奇怪,我用了awk '{print $1 >FILENAME}' urfile后,urfile变得只有41行,之前有8000多行。
是不是有行数的限制?

我用awk '{print FILENAME}' urfile | wc -l 测试,行数倒是对的。8000多个文件名被打印出来了。

论坛徽章:
0
10 [报告]
发表于 2010-11-10 15:09 |只看该作者
奇怪,我用了awk '{print $1 >FILENAME}' urfile后,urfile变得只有41行,之前有8000多行。
是不是有 ...
每日一瓜 发表于 2010-11-10 14:56


满满一碗粥端来吃,吃进去马上就拉回到碗里,最后发现剩的不是满满的了

不好意思,比喻的有点恶心
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP