CNode

如何优雅的实现修改file中的某一行

DDogzhou发布于12 年前最后回复12 年前7 回复5748 浏览0 收藏

现在有这样一个需求,读取一个文件,如果这个文件中的某一行包含字符串"a",就把这个"a"改为"b",如何优雅的实现?

查看回复

回复 (7)

T
Treri#1·12 年前
sed -i "s/a/b/g" `grep a -rl /path/to`
F
fundon#2·12 年前

在Node中,可以使用stream.Transform 或者stream.Duplex实现,当然可以去社区找找stream方面现成的库

J
jiyinyiyong#3·12 年前

如果是一个文件的话... Sublime 打开, 一路快捷键... 如果是很多个文件的话, 安装 ShellJS 写个脚本吧...

D
Dogzhou#4·12 年前

自己搞定了,先readfile,保存修改后的内容,再writefile

X
xujun52011#5·12 年前
引用 Dogzhou自己搞定了,先readfile,保存修改后的内容,再writefile

这还叫优雅? 给跪了... 如果文件有10T, 你全部往内存读?

M
myy#6·12 年前

只是改变字节倒不难,readfile、writefile 可以指定offset、length 难的是在中间位置插入或删除,改变了文件长度

D
Dogzhou#7·12 年前
参与回复
登录后即可参与回复。登录