跳到主要内容
CNode

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

DDogzhou发布于 12 年前最后回复 12 年前
757540

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

查看回复

回复 (7)

T
Treri#112 年前
sed -i "s/a/b/g" `grep a -rl /path/to`
F
fundon#212 年前

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

J
jiyinyiyong#312 年前

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

D
Dogzhou#412 年前

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

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

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

M
myy#612 年前

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

D
Dogzhou#712 年前

参与回复

登录后即可参与回复。登录