【发布时间】:2011-10-09 04:38:39
【问题描述】:
我运行此命令在我站点根目录的所有文件中查找所有出现的“apple”并将其替换为“orange”:
find ./ -exec sed -i 's/apple/orange/g' {} \;
但它不经过子目录。
这个命令有什么问题?
这是find ./的一些输出:
./index.php
./header.php
./fpd
./fpd/font
./fpd/font/desktop.ini
./fpd/font/courier.php
./fpd/font/symbol.php
【问题讨论】:
-
您能运行
find ./并发布一些示例输出吗?和目录结构请。编辑:谢谢! -
嗯,你的发现是正确的,适用于我的子目录。
-
你怎么知道它不处理子目录?
-
因为它给出了以下错误: sed:无法编辑 ./fpd:不是常规文件 sed:无法编辑 ./fpd/font:不是常规文件 sed:无法编辑./fpd/font/makefont: 不是规则
-
哦...我用 grep 搜索苹果,但什么也没找到。它们都被替换了。 ;) 谢谢 。你睁开了我的眼睛!!!
标签: linux command-line sed replace